gpt4 book ai didi

c++ - 是否可以使用 boost::program_options 来捕获不带破折号的参数?

转载 作者:搜寻专家 更新时间:2023-10-31 01:43:07 24 4
gpt4 key购买 nike

对于 boost::program_options,如果参数不是 - 的一部分, --/选项(既不是选项本身也不是它们的可能值),我可以单独捕获这些参数的列表吗?

例如,我想写一个ls程序。我希望我能有类似的实现:

ls -l --color=always <file_dir_1> <file_dir_2> ... <file_dir_n>

我可以在哪里捕获 <file_dir_1> ... <file_dir_n>并进行特殊处理。

最佳答案

这些被称为“位置选项”。 Boost.Program Options 通过按名称转发到现有选项来处理这些问题:

po::positional_options_description p;
p.add("input-file", -1); // forward positional options to "input-file" option

po::variables_map vm;
po::store(po::command_line_parser(ac, av). // replace po::parse_command_line(...)
options(desc).positional(p).run(), vm);
po::notify(vm);

您可能希望将“输入文件”作为 std::vector<std::string> 类型的现有选项.

关于c++ - 是否可以使用 boost::program_options 来捕获不带破折号的参数?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25782516/

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