Конкатенация строк в C, какой метод является более эффективным?

Я сталкивался с этими двумя методами для объединения строк:

Общая часть:

char* first= "First";
char* second = "Second";
char* both = malloc(strlen(first) + strlen(second) + 2);

Способ 1:

strcpy(both, first);
strcat(both, " ");       // or space could have been part of one of the strings
strcat(both, second);

Способ 2:

sprintf(both, "%s %s", first, second);

В обоих случаях содержаниеboth было бы ."First Second"

Я хотел бы знать, какой из них более эффективен (мне нужно выполнить несколько операций конкатенации), или если вы знаете лучший способ сделать это.

Ответы на вопрос(10)

Ваш ответ на вопрос