我正在使用Boost :: Program_options来解析我的命令行,并修改了教程中的一些代码,如下所示:
try { po::options_description desc("Allowed options"); desc.add_options() ("help,h","output help message") ("width,w",po::value<int>()->required()," width") ; po::positional_options_description p; p.add("width",1); po::variables_map vm; po::store(po::command_line_parser(argc,argv). options(desc).positional(p).run(),vm); if (vm.count("help")) { std::cout << "USAGE: " << av[0] << &p << std::endl; return 0; } po::notify(vm); if (vm.count("width")) { std::cout << "width: " << vm["width"].as<int>() << "\n"; } } catch (std::exception& e) { std::cout << e.what() << std::endl; return 1; } catch (...) { std::cout << "Exception of unkNown type!" << std::endl; }
解决方法
argc是这里的方法,program_options不会暴露设置了多少选项.不要过度工程.
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。