如果在使用boost::program_options的时候传递了未注册的参数,则会throw exception,要想无视我们不需要的参数,可以通过使用basic_command_line_parser类来分析 (而不是parse_command_line) ,并且调用该类的 allow_unregistered 方法:

1
2
3
parsed_options = 
command_line_parser(argv, argc).
options(desc).allow_unregistered().run();

如果使用配置文件,则在调用parse_config_file的时候第三个参数传递true:

1
parse_config_file<char>(cfgfilename, desc, true)
知识共享授权条款
本著作Chen, Zai-Chun制作,以知识共享 姓名标示-相同方式分享 4.0 国际 授权条款释出

留言

Jun 3 2010