Создайте свою собственную функцию для чтения строки.Вот что вам в основном нужно сделать:
1. fgets into allocated (growable) memory
2. if it was a full line you're done
3. grow the array
4. fgets more characters into the newly allocated memory
5. goto 2.
Реализация может быть немного хитрой: -)
Вам нужно подумать о том, что вам нужно передать своей функции (в самомнаименьший адрес массива и его размер);и что возвращает функция, когда все «работает» или когда возникает ошибка.Вам необходимо решить, что является ошибкой (строка длиной 10 Гбайт без ошибки '\ n'?).Вам нужно решить, как вырастить массив.
Редактировать
На самом деле может быть лучше fgetc
, чем fgets
get a character
it it EOF? DONE
add to array (update length), possible growing it (update size)
is it '\n'? DONE
repeat