Monday, February 17, 2020

String concatenation in C

#include <stdio.h>
#include <string.h>
int main()
{
  char a[1000], b[1000];
  printf("Enter the first string\n");
  gets(a);
  printf("Enter the second string\n");
  gets(b);
  strcat(a, b);
  printf("String obtained on concatenation: %s\n", a);
  return 0;
}
Output of program:
String concatenation

Concatenate strings without strcat function

C program to concatenate strings without using library function strcat of string.h header file. We create our own function.
#include <stdio.h>
void concatenate(char [], char []);

int main()
{
   char p[100], q[100];

   printf("Input a string\n");
   gets(p);

   printf("Input a string to concatenate\n");
   gets(q);

   concatenate(p, q);

   printf("String obtained on concatenation: \"%s\"\n", p);

   return 0;
}
void concatenate(char p[], char q[]) {
   int c, d;
 
   c = 0;

   while (p[c] != '\0') {
      c++;    
   }

   d = 0;

   while (q[d] != '\0') {
      p[c] = q[d];
      d++;
      c++;  
   }

   p[c] = '\0';
}
The first for loop in concatenate function is calculating string length, you can also use strlen function if you wish.

String concatenation using pointers

#include <stdio.h>
void concatenate_string(char*, char*);
int main()
{
    char original[100], add[100];
 
    printf("Enter source string\n");
    gets(original);
 
    printf("Enter string to concatenate\n");
    gets(add);
 
    concatenate_string(original, add);
 
    printf("String after concatenation: \"%s\"\n", original);
     
    return 0;
}
void concatenate_string(char *original, char *add)
{
   while(*original)
      original++;
   
   while(*add)
   {
      *original = *add;
      add++;
      original++;
   }
   *original = '\0';
}

No comments:

Post a Comment