Я наткнулся на эти два метода, чтобы объединить строки:
Общая часть:
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"
.
Я хотел бы знать, какой из них более эффективен (мне нужно выполнить несколько операций конкатенации), или если вы знаете лучший способ сделать это.