Advertisement
Alx09

8.6

Apr 15th, 2022
1,055
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C 0.79 KB | None | 0 0
  1. #include <stdio.h>
  2. #include <stdlib.h>
  3. #include <stdarg.h>
  4. #include <string.h>
  5. char* concat(int NrArgumente, ...)
  6. {
  7.     va_list argument;           //declaram variabila de tip va_list
  8.     int i;
  9.     char *p;
  10.     int lungimeSirNou = 0;
  11.     va_start(argument, NrArgumente);    //apelam va_start() si o initializam
  12.     for (i = 0; i < NrArgumente; i++)
  13.         lungimeSirNou += sizeof(va_arg(argument, char*)) + 1;
  14.    
  15.     p = (char*)malloc(sizeof(char) * lungimeSirNou + 1);
  16.     strcpy(p, "");
  17.     va_start(argument, NrArgumente);
  18.     for (i = 0; i < NrArgumente; i++) {
  19.         strcat(p, va_arg(argument, char*));
  20.         strcat(p, " ");
  21.     }
  22.     va_end(argument);             // terminare parcurgere + eliberare memorie
  23.     return p;
  24. }
  25.  
  26. int main(void)
  27. {
  28.  
  29.     char *p = concat(3, "Ana", "are", "mere");
  30.     printf("%s ", p);
  31.     scanf("%*c");
  32.     return 0;
  33. }
  34.  
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement