gpt4 book ai didi

c++ - 使用后如何使用boost program_options在ARGV中使用/删​​除选项

转载 作者:行者123 更新时间:2023-12-02 10:22:26 27 4
gpt4 key购买 nike

当前,我们的代码库在我们的测试框架中使用boost program_options作为命令行解析器。我想在命令行解析中实现一种“使用后使用”的规则。

我所说的“使用后消耗”是指。使用--option1后,可以在ARGC,ARGV中删除此--option1。这样做的主要原因是,在使用了我只关心的选项之后,我想在另一个解析器中传递ARGC和ARGV。

在boost program_option中可能吗?

最佳答案

正如您可以阅读here一样,boost::program_options::variables_map继承自std::map,因此您可以在其上调用std::map:erase:

namespace po = boost::program_options;

po::variables_map vm;
po::store(po::parse_command_line(ac, av, desc), vm);
po::notify(vm);

if (vm.count("option1")) {
// handle option1
...
// erase option1
vm.erase("option1");
if (vm.count("option1")) {
// never gonna happen
}
}

关于c++ - 使用后如何使用boost program_options在ARGV中使用/删​​除选项,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/59528287/

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