跳过未知选项而不抛出boost程序选项

Abr*_*ile 3 c++ boost-program-options

这些天我正在使用Boost程序选项来读取INI文件.

我在代码中抛出一个异常,有一行带有未知选项.你知道是否可能以及如何让下面的代码读取整个文件?我想跳过未知选项而不抛出,以便我可以读取所有可能的值.非常感谢AFG

 namespace pod = boost::program_options;
 pod::options_description options("Options");
 std::string myArgValue;
 options.add_options()     

      ("SECT_A.Option_A", 
           pod::value<int>()->default_value(1), 
           "xxx")

      ("SECT_B.Option_B", 
           pod::value<std::string>(&myArgValue),
           "xxx")
 ;

 pod::variables_map vm;
 pod::store( pod::parse_config_file( s, options ) , vm);
 pod::notify( vm );
Run Code Online (Sandbox Code Playgroud)

Nim*_*Nim 6

叶:allow_unregistered()看看:

http://www.boost.org/doc/libs/1_45_0/doc/html/program_options/howto.html#id2075177

  • 你好,我们又见面了.我发现在我的具体案例中如何做到这一点.parse_config_file有一个名为"allow_unregistered"的第三个optioanl值,默认设置为"false".我设置为'true',我不再有例外. (5认同)