Advertisement
sp1d3o

Untitled

Oct 15th, 2021
107
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C 0.86 KB | None | 0 0
  1. #include<stdio.h>
  2. #include<stdlib.h>
  3. #include<string.h>
  4.  
  5. /*allocates memory for concatenation of two input streams*/
  6.  
  7. char *concatenation(const char *a, const char *b)
  8. {
  9.     size_t len_a = strlen(a);
  10.     size_t len_b = strlen(b);
  11.    
  12.     char *ret = (char *)malloc(len_a + len_b + 1);
  13.     if(ret == NULL) {
  14.         printf("Insufficient memory!\n");
  15.         return 0;
  16.     }
  17.    
  18.     for(int i = 0; i < len_a; i++) {
  19.         ret[i] = a[i];
  20.     }    
  21.    
  22.     for(int i = len_a, j = 0; i < len_a + len_b; i++, j++) {
  23.         ret[i] = b[j];
  24.     }
  25.    
  26.     ret[len_a + len_b] = '\0';
  27.     return 0;
  28. }
  29.  
  30. int main(int argc, char *argv[])
  31. {
  32.     if(argc != 3) {
  33.         fprintf(stderr,"Invalid argument count!\n");
  34.         return 1;
  35.     }
  36.     char *string = concatenation(argv[1], argv[2]);
  37.     printf("%s\n", string);
  38.     free(string);
  39.     return 0;
  40. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement