Мне нужно прочитать строку текста (заканчивающуюся новой строкой), не делая предположений о длине. Итак, теперь я сталкиваюсь с возможностями:
fgets
и каждый раз проверяйте, является ли последний символ новой строкой, и непрерывно добавляете в буфер fgetc
и иногда realloc
буфер Интуиция подсказывает мне, что вариант fgetc
может быть медленнее, но опять же, я не Я вижу, как fgets
может это сделать, не исследуя каждого символа (к тому же моя интуиция не всегда так хороша). Линии довольно большие, поэтому производительность важна.
Я хотел бы знать плюсы и минусы каждого подхода. Заранее благодарю.