Как правильнее работать со строками, длина которых заранее неизвестна?
Т.е. допустим есть функция, которая возврвращает какое-то сообщение. Сообщение может быть очен длинным.
char* get_hello() {
char buffer[1024000];
memset(buffer, 0, 1024000 * sizeof(char));
...
while(fgets(...) != NULL) {
sprintf(buffer, "%s%s", buffer, row);
}
...
char* result = malloc(sizeof(buffer) + 1);
strncpy(buffer, result, sizeof(buffer));
result[strlen(buffer)] = '\0';
return result;
}
Что здесь можно улучшить?
Свежие комментарии