У меня есть файл конфигурации myCfg.cfg
который выглядит следующим образом:libconfig ++: добавление параметра к корню дерева конфигурации
keyA = 1.0
keyB = 2
keyC = "hello"
Обратите внимание, что все настройки находятся в корне дерева конфигурации.
Я хочу, чтобы моя программа на C++ загружала этот файл, а затем добавляла новый параметр, ключ которого равен keyD
и присваивает ему целочисленное значение 5
. В конце концов, MyCfg
должен выглядеть в памяти:
keyA = 1.0
keyB = 2
keyC = "hello"
keyD = 5
Первый файл myCfg.cfg
загружается построить MyCfg
. Затем значение keyD
должно быть добавлено в корень MyCfg
. libconfig documentation указывает, что Setting::add()
метод:
добавить [s] новый ребенок установка с заданным именем и типом для установки, которая должна быть группа
Однако нет никаких group в MyCfg
... Итак, как добавить параметр в корень объекта Config?
@Gluttton Я не уверен, что вы подразумеваете под «у вас сохраняются настройки?». Сначала я создаю экземпляр 'Config', читая конфигурацию из файла * .cfg, затем я беру этот объект' Config', и я пытаюсь добавить к нему параметр. Я никогда не пытаюсь написать новый файл * .cfg, который будет соответствовать введенному файлу * .cfg и дополнительной настройке. –
@ Gluttton no Я не называл 'writeFile()' и не собираюсь это делать. Вот больше информации о контексте: я использую объект 'Config' как набор параметров для запуска моего кода. В коде есть две аналогичные процедуры: во-первых, параметр должен быть выбран пользователем, указав параметр в файле * .cfg. В другом случае имеет смысл только одно значение для этого параметра. Поэтому, чтобы скрыть его от пользователя, я требую, чтобы он/она написал файл конфигурации без этой настройки, и код должен добавить его впоследствии. –