gpt4 book ai didi

c++ - 有没有办法使用 boost::program_options::parse_config_file 在 INI 文件中包含多个 "name=value"行?

转载 作者:塔克拉玛干 更新时间:2023-11-03 01:58:04 24 4
gpt4 key购买 nike

我希望能够使用 boost::program_options 在 INI 文件中指定多个 name=value 行。有点像

[list.names]
name=value
name=value2
name=value3

有没有办法用 boost::program_options 实现这个?如果我尝试它,我会得到一个多次出现的错误

如果没有,还有哪些其他库可用?

最佳答案

指定字段的值为std::vector<value_type>options_description :

namespace po = boost::program_options;

po::options_description desc;
desc.add_options()
("list.names.name", po::value< std::vector<std::string> >(), "A collection of string values");

po::variables_map vm;
std::ifstream ini_file("config.ini");
po::store(po::parse_config_file(ini_file, desc), vm);
po::notify(variables);

if (vm.count("list.names.name"))
{
const std::vector<std::string>& values = vm["list.names.name"].as< std::vector<std::string> >();
std::copy(values.begin(), values.end(), std::ostream_iterator<std::string>(std::cout, "\n"));
}

关于c++ - 有没有办法使用 boost::program_options::parse_config_file 在 INI 文件中包含多个 "name=value"行?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3061528/

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