C++ 程序选项:如何忽略未知参数?
在C++ 程序选项:如何忽略未知参数?,c++,boost,boost-program-options,C++,Boost,Boost Program Options,在boost::program\u options库中,我无法理解如何允许用户通过add\u options() 我希望它被忽略,而不是终止程序。来自boost::program\u options文档 今晚我遇到了完全相同的问题@TAS的回答让我走上了正确的道路,但我还是花了20分钟的时间才弄清楚我特定用例的确切语法 要忽略未知选项,请执行以下操作: po::variables_map vm; po::store(po::parse_command_line(argc, argv, desc)
boost::program\u options
库中,我无法理解如何允许用户通过add\u options()
我希望它被忽略,而不是终止程序。来自boost::program\u options文档
今晚我遇到了完全相同的问题@TAS的回答让我走上了正确的道路,但我还是花了20分钟的时间才弄清楚我特定用例的确切语法 要忽略未知选项,请执行以下操作:
po::variables_map vm;
po::store(po::parse_command_line(argc, argv, desc), vm);
po::notify(vm);
我写道:
po::variables_map vm;
po::store(po::command_line_parser(argc, argv).options(desc).allow_unregistered().run(), vm);
po::notify(vm);
请注意,只有中间线不同
简而言之,使用commandline\u parser()
而不是parse\u commandline()
po::variables_map vm;
po::store(po::command_line_parser(argc, argv).options(desc).allow_unregistered().run(), vm);
po::notify(vm);