gpt4 book ai didi

c++ - 使用 Boost 库 (C++) 的简单选项处理

转载 作者:太空狗 更新时间:2023-10-29 21:09:26 25 4
gpt4 key购买 nike

例如,使用以下语法:

 -I [file] -A 1 2 3

问题:

如何检查是否指定了文件以及是否指定了三个(整数)值。

我了解以下内容:

po::options_descriptions desc("Allowed options");
desc.add_options()

然后如何使用指定的参数,例如:

    if (argv[3] == 1) {
...
}

问候

最佳答案

您使用 variables_map检查是否指定了选项。如果您添加了一个名为 "file" 的选项和你的 variables_map被称为vm :

if(vm.count("myoption")) { ... } // Returns 0 if myoption not specified. 1 or more if it was.

一旦你使用了add_options要添加一些选项,您可以像这样访问它们,假设您已经设置了 variables_map名为 vm :

vm["myoption"].as<int>() // Will return an int, assuming your option is an int
vm["myoption"].as<std::string>() // Will return an std::string, assuming your option is an int

在您的情况下,您希望将指定选项之一转换为整数序列。你可以这样做:

vm["myoption"].as< std::vector<int> >()

这将返回一个包含 3 个整数的 vector ,您可以像任何法 vector 一样对其进行索引和使用。要查看是否有 3 个,只需使用 size() vector 成员函数。

这方面的 boost 教程位于here .

关于c++ - 使用 Boost 库 (C++) 的简单选项处理,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/441757/

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