Я пишу программу, которая должна принимать пользовательский ввод, чтобы знать, как отображать символы в том смысле, в каком пользователь должен указать что-то вроде «a => b» (соответствует b). Некоторые из этих «отображений» могут быть спокойными (например, 10+). Я планирую использовать файл, который пользователь может редактировать. После первоначальной настройки пользователь, вероятно, не будет часто менять настройки. Пользователь является ИТ-служащим, поэтому он должен быть технически склонен.
Мой вопрос
1) какой формат файла следует использовать? .txt, .dat, .ini и т. д.? Я хочу, чтобы пользователь мог изменить это с помощью текстового редактора, такого как Блокнот.
2) какой формат должен содержать файл? Имеет ли смысл «a» => «b» или есть лучшее преобразование, или это действительно мне решать?
Все зависит от тебя. Мы часто используем key=value
За то, что это стоит.
Что касается «формата файла», имейте в виду, что независимо от того, какое расширение файла вы используете, если это текст, то это просто текст, даже если вы называете его .jpg
, Использование вменяемого расширения не принесет никакого вреда, .ini
или же .conf
довольно распространены.
Вместо того, чтобы изобретать велосипед, вы могли бы взглянуть на Boost.PropertyTree. Он предоставляет структуры данных для хранения пар ключ-значение (где в «a» => «b», «a» будет ключом, а «b» будет значением). И предоставляет парсеры для файлов XML, JSON, INI и INFO.