gpt4 book ai didi

c++ - libconfig++ : adding a setting to the root of the configuration tree

转载 作者:搜寻专家 更新时间:2023-10-31 02:17:58 29 4
gpt4 key购买 nike

我有一个配置文件 myCfg.cfg 如下所示:

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() 方法:

add[s] a new child setting with the given name and type to the setting, which must be a group

但是,MyCfg 中没有任何组……那么我该如何将设置添加到 Config 对象的根目录中呢?

最佳答案

看起来您只需要:getRoot()

例子如下:

#include <iostream>
#include "libconfig.h++"


int main ()
{
libconfig::Config MyCfg;
std::string file = "myCfg.cfg";

try {
MyCfg.readFile (file.c_str () );

libconfig::Setting & root = MyCfg.getRoot ();
// This also works.
// libconfig::Setting & root = MyCfg.lookup ("");
libconfig::Setting & keyD = root.add ("KeyD", libconfig::Setting::TypeInt);
keyD = 5;

// You dont need it, but it's just for testing.
MyCfg.writeFile (file.c_str () );
}
catch (...) {
std::cout << "Error caused!" << std::endl;
}

return 0;
}

关于c++ - libconfig++ : adding a setting to the root of the configuration tree,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35057314/

29 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com