【发布时间】:2014-04-15 14:27:37
【问题描述】:
我的代码崩溃了:
if(argc<2)
{
printf("Too few arguments\n");
}
else if(argc>=2)
{
namespace po = boost::program_options;
po::options_description desc("Options");
desc.add_options()
("c")
("d")
("filename", po::value<string>());
po::variables_map vm;
po::store(po::parse_command_line(argc,argv,desc),vm);
po::notify(vm);
if(vm.count("c"))
{
// option c
}
else if(vm.count("d"))
{
// option d
}
}
调试错误:此应用程序已请求运行时终止 它以通常的方式...
我希望我的程序后面有选项 -c 和 -d 以及可选的文件名。如何将选项添加到选项描述中,接下来如何检查我是否有选项 -c、-d 以及我是否有文件名作为命令行参数?
我已经阅读了 boost 网站上关于 boost/program_options 的教程,但我不知道该怎么做。
【问题讨论】:
-
你有没有遇到this example,它使用
vm.count? -
我改进了我的代码,对吗?
-
类似的东西。我用这个已经太久了。如果它在测试时似乎有效,那么很有可能它确实有效。
标签: c++ boost boost-program-options