Как организовать структуру файла проекта собственной программы?

Я разработал программу генерирующую файлы бинарного типа специфического назначения. Прежде чем сгенерировать файл, в программе вводится множество параметров. Вводить эти параметры каждый раз заново - не целесообразно. В связи с чем возникла необходимость сохранения "файла проекта". И мне стало интересно, каким же образом лучше всего эти параметры хранить в файле, что бы после их было проще и быстрее считывать и обрабатывать?
Мне неоднократно приходилось по тем или иным причинам редактировать в ручную "файлы проектов" различных программ, и способ "хранения" параметров у всех был абсолютно разным. Например в каких-то программах файл проекта был бинарным (все параметры размечались в строгой последовательности и с заданными размерами полей), а в каких-то файл представлял из себя набор строк (каждая строка параметр, который начинался с названия параметра обрамленного кавычками и после которого (через тире или двоеточие) следовало значение этого параметра).
Так чем же мне руководствоваться разрабатывая структуру и методологию хранения "файла проекта"?
  • Вопрос задан
  • 575 просмотров
Решения вопроса 2
AxianLTD
@AxianLTD
Типичные варианты
Name = Value для плоских данных
Json или xml для структурированных данных
Ответ написан
Комментировать
@exaw
я у себя делаю json через Boost.PropertyTree
если человекочитаймый и человекосоздаваймый формат не нужен, о чем говорилось выше, то можно Boost.Serialization
Ответ написан
Пригласить эксперта
Ответы на вопрос 1
CityCat4
@CityCat4
Внимание! Изменился адрес почты!
Пожалуй, единственный критерий - будет ли этот файл читаться только программой, или же его будут читать также и люди? Если только программой - бинарник удобнее. Расписал структуру, наложил на запись - вуаля, разобрано по полям! Но человеку прочитать это будет довольно сложно, если файл будут читать также и люди, лучше потраться на более-менее полноценный парсер типа name=value, если редактировать вручную, будет куда проще.
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы