Я хочу читать в файле по строкам, не зная длину строки раньше. Вот что я получил до сих пор:
int ch = getc(file);
int length = 0;
char buffer[4095];
while (ch != '\n' && ch != EOF) {
ch = getc(file);
buffer[length] = ch;
length++;
}
printf("Line length: %d characters.", length);
char newbuffer[length + 1];
for (int i = 0; i < length; i++)
newbuffer[i] = buffer[i];
newbuffer[length] = '\0'; // newbuffer now contains the line.
Теперь я могу определить длину строки, но только для строк, длина которых меньше 4095 символов, плюс два массива char кажутся неудобным способом выполнения задачи. Есть ли лучший способ сделать это (я уже использовал fgets(), но мне сказали, что это не лучший способ)?
- Ry