I came across these two methods to concatenate strings:
Common part:
char* first= "First";
char* second = "Second";
char* both = malloc(strlen(first) + strlen(second) + 2);
Method 1:
strcpy(both, first);
strcat(both, " "); // or space could have been part of one of the strings
strcat(both, second);
Method 2:
sprintf(both, "%s %s", first, second);
In both cases the content of both would be "First Second".
I would like to know which one is more efficient (I have to perform several concatenation operations), or if you know a better way to do it.