C Program to Concatenate Two Strings Without Using strcat Last Updated : 05 Dec, 2024 Comments Improve Suggest changes Like Article Like Report String concatenation is the process of appending one string to the end of another. C language provides strcat() library function to concatenate string but in this article, we will learn how to concatenate two strings without using strcat() in C.The most straightforward method to concatenate two strings without using strcat() is by using a loop. Let’s take a look at an example: C #include <stdio.h> void concat(char *s1, char *s2) { int i = 0; // Move to the end of str1 while (s1[i] != '\0') i++; // Copy characters from str2 to str1 int j = 0; while (s2[j] != '\0') { s1[i] = s2[j]; i++; j++; } // Null-terminate the concatenated string s1[i] = '\0'; } int main() { char s1[50] = "Hello "; char s2[] = "Geeks"; concat(s1, s2); printf("%s", s1); return 0; } OutputHello Geeks Explanation: In this method, we iterate through the first string to find its end, then use a loop to append each character of the second string to the end of first string.There are also a few other methods in C to concatenate two strings without using strcat. Some of them are as follows:Table of ContentUsing PointersUsing MemcpyUsing sprintf()Using PointersIn this method, we use pointer arithmetic to traverse and concatenate the two strings. First, move the pointer to the end of the first string, then copy each character from second string one by one. C #include <stdio.h> void concat(char *s1, char *s2) { // Move the pointer to the end of str1 while (*s1) s1++; // Copy characters from s1 to s1 using // pointer arithmetic while (*s2) { *s1 = *s2; s1++; s2++; } *s1 = '\0'; } int main() { char s1[50] = "Hello "; char s2[] = "Geeks"; // Concat string s1 and s2 concat(s1, s2); printf("%s", s1); return 0; } OutputHello GeeksThis method is efficient because it directly works with memory addresses and does not require array indexing, making it a bit more low-level.Using memcpy()The memcpy() is a function in C that copies a block of memory from a source location to a destination. It can be used to copy the second-string memory at the end of first string. C #include <stdio.h> #include <string.h> void concat(char *s1, const char *s2) { // Copy s2 to the end of s1 using memcpy() memcpy(s1 + strlen(s1), s2, strlen(s2) + 1); } int main() { char s1[50] = "Hello"; char s2[] = " Geeks"; // Concatenate using memcpy() concat(s1, s2); printf("%s", s1); return 0; } OutputHello GeeksUsing sprintf()The sprintf() function in C can write a formatted string to a string buffer. It can be used to concatenate string by formatting second string at the end of the first string by treating it as a string buffer. C #include <stdio.h> #include <string.h> int main() { char s1[50] = "Hello "; char s2[] = "Geeks"; // Concatenate s2 to s1 using sprintf sprintf(s1 + strlen(s1), "%s", s2); printf("%s", s1); return 0; } OutputHello Geeks Comment More infoAdvertise with us Next Article C Program to Concatenate Two Strings Without Using strcat fizakhatoon947 Follow Improve Article Tags : C Programs C Language C-String C Examples Similar Reads C Program to Compare Two Strings Without Using strcmp() String comparison refers to the process of comparing two strings to check if they are equal or determine their lexicographical order. C provides the strcmp() library function to compare two strings but in this article, we will learn how to compare two strings without using strcmp() function.The most 2 min read C Program to Concatenate Two Strings Using a Pointer Concatenating two strings means appending one string at the end of another string. While the standard library provides strcat() for concatenation, this article will demonstrate how to concatenate two strings using pointers.To concatenate two strings using pointers, traverse the first string to its n 1 min read C Program to Compare Two Strings Using Pointers In C, two strings are generally compared character by character in lexicographical order (alphabetical order). In this article, we will learn how to compare two strings using pointers.To compare two strings using pointers, increment the pointers to traverse through each character of the strings whil 2 min read Concatenating Two Strings in C Concatenating two strings means appending one string at the end of another string. In this article, we will learn how to concatenate two strings in C.The most straightforward method to concatenate two strings is by using strcat() function. Let's take a look at an example:C#include <stdio.h> #i 2 min read C Program to Print the Length of a String using Pointers C language provides a built-in function strlen() but in this article, we will learn how to find and print the length of the string using pointers in C.The easiest method to find the length of a string using pointers is by calculating difference between the pointers to the first and last character of 2 min read Length of a String Without Using strlen() Function in C The length of a string is the number of characters in it without including the null character. C language provides the strlen() function to find the lenght of the string but in this article, we will learn how to find length of a string without using the strlen() function.The most straightforward met 2 min read C Program to Trim Leading Whitespaces from String Trimming leading white spaces from a string means removing any unnecessary spaces before the first non-space character in the string. In this article, we will learn how to trim leading white spaces using the C program.The most straightforward method to trim leading white spaces from the string is by 2 min read C Program to Split a String into a Number of Sub-Strings In this article, we will learn how to split a string into a number of sub-strings using the C program.The most straightforward method to split a string into substrings using a delimiter is by using strtok() function. Letâs take a look at an example:C#include <stdio.h> #include <string.h> 3 min read C Program to Compare Two Strings Lexicographically In C, lexicographic comparison refers to comparing each character of one string to the character of other string at same position based on their alphabetical order, just like how words are arranged in a dictionary. In this article, we will learn how to compare two strings lexicographically using the 3 min read Copy N Characters from One String to Another Without strncat() In C, strings are the sequence of characters that are used to represent the textual data. Two strings can be easily concatenated or joined using the strncat() function of the C standard library up to n characters. In this article, we will learn how to concatenate the first n characters from one stri 2 min read Like