Если я хочу объединить 2 строки в C, нужно ли мне выделять дополнительный нулевой символ для каждой строки или достаточно одного?
int main(){
char *s1 = NULL;
char *s2 = NULL;
char *s1_s2 = NULL;
s1 = malloc(sizeof(char) * strlen("string1") + 1);
strcpy(s1, "string1");
s2 = malloc(sizeof(char) * strlen("string2") + 1);
strcpy(s2, "string2");
s1_s2 = malloc(sizeof(char) * (strlen(s1) + strlen(s2)) + 2); // shouldn't it be only 1 null char ?
strcpy(s1_s2, s1);
strcat(s1_s2, s2);
}
в этом вопросе они используют 2 нулевых байта для каждая строка. Может ли кто-нибудь пролить свет? Спасибо
s1_s2
в вашем примере. - person Some programmer dude   schedule 24.01.2012