libconfig 读取列表 C

libconfig read list C

我正在尝试使用 C 中的 libconfig 库阅读此配置示例,但没有看到任何读取列表并存储它的示例...

sound = {
         string_length = 50;
         sound_folder = "./bin/sound/";
         sounds_number = 4;
         sounds_list = ( "001_piano.wav", "voz4408.wav", "001_bajo.wav", "001_bateriabuena.wav" );
};

我想知道是否有办法加载像 sounds_list 这样的列表。并且不要创建像我现在这样的结构:

 sounds_list = ( { file_name = "001_piano.wav";},
         { file_name = "voz4408.wav";},
         { file_name = "001_bajo.wav";},
         { file_name = "001_bateriabuena.wav";}
  );

您可以使用如下结构:

test_array = ["aaa", "bbb", "ccc"];

如果要解析上面的参数,可以使用如下代码:

libconfig::Config cfg;
cfg.readFile(conf_file.c_str());
const Setting &test_array = cfg.lookup("test_array");
int count = test_array.getLength();
for (int i = 0; i < count; ++i) {
    std::cout << test_array[i] << std::endl;
}

您也可以参考libconfig_manual了解更多信息