【问题标题】:boost::program_options read an integer array from consoleboost::program_options 从控制台读取一个整数数组
【发布时间】:2012-03-16 18:48:29
【问题描述】:

我想使用 boost::program_options 从控制台读取一个整数数组。数组的长度未知,我不想一次读取所有数据。我该怎么做?

我现在正在做的是

$ ./foo --array "1, 2, 3"

然后通过拆分输入字符串来填充 arr[]。

但我想要类似的东西

$ ./foo --array 1 --array 2 --array 3

并在 arr[] 中读取它。也想知道 arr[] 的长度,不想让它成为命令行参数。

【问题讨论】:

    标签: c++ boost boost-program-options


    【解决方案1】:

    使用向量而不是数组。然后,只需指定一个向量作为选项类型:

    po::options_description desc("Allowed options");
    desc.add_options()
        ("array", po::value< vector<int> >())
    ;
    

    命令行上的每个选项都会附加到向量中。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2022-01-02
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多