我以前从未真正使用过配置文件,但我有兴趣将其用作我正在编写的工程代码的参数文件。
不是专业程序员,我花了两天时间试图弄清楚如何使用 libconfig 导入简单的列表或数组设置,但我似乎无处可去。从这里的示例粗略工作,我能够成功导入标量设置,例如
(importtest.cfg)
mynumber = 1;
使用主要功能
Config cfg;
// check for I/O and parse errors
try
{
cfg.readFile("importtest.cfg");
}
catch(const FileIOException &fioex)
{
std::cerr << "I/O error while reading config file." << std::endl;
return(EXIT_FAILURE);
}
catch(const ParseException &pex)
{
std::cerr << "Parse error at " << pex.getFile() << " : line " << pex.getLine() << " - " << pex.getError() << std::endl;
return(EXIT_FAILURE);
}
// look for 'mynumber'
try
{
int number = cfg.lookup("mynumber");
std::cout << "your number is " << number << std::endl;
}
catch(const SettingNotFoundException &nfex)
{
std::cerr << "No 'mynumber' setting in configuration file." << std::endl;
}
我得到了预期的输出
your number is 1
但我无法导入简单的列表设置,例如
mylist = (1,2,3,4);
以类似的方式。我尝试了许多解决方案(例如创建根设置),但并不真正了解其中的任何一个。
任何帮助深表感谢。