gpt4 book ai didi

c++ - Boost::program_options - 如果没有提供输入则打印用法

转载 作者:塔克拉玛干 更新时间:2023-11-03 07:12:18 25 4
gpt4 key购买 nike

我正在尝试使用 Boost program_options 来解析我的程序输入。一般来说,文档提供了必要的解析信息。但是,我想让我的程序在没有提供输入时打印使用说明,但我似乎无法弄清楚。似乎没有“默认”选项,我也找不到如何计算提供的输入数量(以测试)。

这是我目前的代码:

boost::program_options::options_description help("Usage");
help.add_options()
("help", "print help info");

boost::program_options::options_description req("Required inputs");
req.add_options()
("root", boost::program_options::value<std::string>(&images_root), "Root directory")

boost::program_options::options_description opt("Option inputs");
opt.add_options()
("verbose", boost::program_options::value<bool>(&verbose)->implicit_value(1), "Verbose");

boost::program_options::variables_map vm;
boost::program_options::store(boost::program_options::parse_command_line(argc, argv, all), vm);
if (vm.count("help"))
{
std::cout << help;
return 1;
}

boost::program_options::notify(vm);

我如何生成以下内容(即如果没有输入 std::cout << help )?

./test-file
>> print help info

最佳答案

你可以用 argc

例如:

int main(int argc, char** argv)
{
if( argc <= 1 )
std::cout << "Print Usage\n";

return 0;
}

关于c++ - Boost::program_options - 如果没有提供输入则打印用法,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39198778/

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