【问题标题】:skipping unknown options without throwing with boost program options跳过未知选项而不抛出提升程序选项
【发布时间】:2010-12-16 10:23:15
【问题描述】:

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

一旦文件中有一行带有未知选项,我的代码就会引发异常。 您知道是否可能以及如何让下面的代码读取整个文件?我想跳过未知选项而不抛出,以便我可以读取所有可能的值。 非常感谢 自动对焦

 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 );

【问题讨论】:

    标签: c++ boost-program-options


    【解决方案1】:

    【讨论】:

    • 你能帮帮我吗?它不编译。我将我的代码更新为以下 pod::store( pod::parse_config_file( s, options ).allow_unregistered(), vm);但它没有编译。
    • 你好。在我的具体情况下,我找到了如何做到这一点。 parse_config_file 具有名为“allow_unregistered”的第三个选项值,默认设置为“false”。我设置为“真”,我不再有例外。
    猜你喜欢
    • 2018-01-20
    • 2012-07-02
    • 1970-01-01
    • 1970-01-01
    • 2018-08-29
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多