Моя программа читает текстовый файл, содержащий различные строки текста для файла настроек. Некоторые из линий могут стать очень большими. В настоящее время размер буфера составляет 4096 символов. Вполне возможно, что некоторые строки могут превысить это, либо из-за вредоносности, либо из-за различных факторов, действующих в программе.
Текущие процедуры было довольно утомительно писать, и теперь я хочу расширить возможное содержимое файла, что потребует больше этого утомительного повторяющегося кода. (Это для файла типа настроек, состоящего из пар name value
и случайного заголовка раздела. Некоторые числовые значения должны читаться как строки из-за множественной точности).
Главное, что я хочу - это прочитать строку произвольной длины без переполнения буфера. Я только что обнаружил, что getline может сделать это для меня, но, ради всего святого, есть библиотека, которая сделает всю эту скучную работу за меня?
редактирование:
Я не хочу, чтобы между именем и значениями ставился знак =
, в качестве разделителя должно быть пустое место.
В широком смысле я имею в виду, что библиотека должна быть доступна в стандартных пакетах популярных дистрибутивов Linux.
Мне известно о libconfig , но мои требования кажутся излишними.