gpt4 book ai didi

c++ - 在 boost::program_options 解析我的命令行参数后,如何获取非标志和非选项标记

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

在 python 中,我可以构建我的 optparse实例这样它会自动将选项和非选项/标志过滤到两个不同的桶中:

(options, args) = parser.parse_args()

使用 boost::program_options,我如何检索 token 列表,这些 token 是剩余的非选项和非标志 token ?

例如如果我的程序有标志

--foo 
--bar BAR

然后我传入命令行:

--foo hey --bar BAR you

我怎样才能得到一个仅由标记“嘿”和“你”组成的列表

最佳答案

这是一个例子:

namespace po = boost::program_options;    
po::positional_options_description m_positional;
po::options_description m_cmdLine;
po::variables_map m_variables;

m_cmdLine.add_options()
(/*stuff*/)
("input", po::value<vector<string> >()->composing(), "")
;
m_positional.add("input", -1);
po::parsed_options parsed = po::command_line_parser(argc, argv)
.options(m_cmdLine)
.positional(m_positional)
.allow_unregistered()
.run();
// store, notify, etc

然后只需将“输入”命名选项作为字符串 vector ,一切就绪。

关于c++ - 在 boost::program_options 解析我的命令行参数后,如何获取非标志和非选项标记,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1314717/

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