Łączenie ciągów w C, która metoda jest bardziej wydajna?
Natknąłem się na te dwie metody łączenia łańcuchów:
Wspólna część:
char* first= "First";
char* second = "Second";
char* both = malloc(strlen(first) + strlen(second) + 2);
Metoda 1:
strcpy(both, first);
strcat(both, " "); // or space could have been part of one of the strings
strcat(both, second);
Metoda 2:
sprintf(both, "%s %s", first, second);
W obu przypadkach treśćboth
byłoby"First Second"
.
Chciałbym wiedzieć, który z nich jest bardziej wydajny (muszę wykonać kilka operacji łączenia) lub czy znasz lepszy sposób na to.