我想使用 boost::program_options 从控制台读取整数数组。数组的长度未知,我不想一次性读取所有数据。我怎样才能做到这一点?
我现在正在做的是
$ ./foo --array "1, 2, 3"
然后通过分割输入字符串来填充 arr[]。
但我想要类似的东西
$ ./foo --array 1 --array 2 --array 3
并在arr[]中读取它。还想知道 arr[] 的长度,不想将其作为命令行参数。
最佳答案
使用 vector 而不是数组。然后,只需指定一个 vector 作为选项类型:
po::options_description desc("Allowed options");
desc.add_options()
("array", po::value< vector<int> >())
;
命令行上的每个选项都将附加到 vector 中。
关于c++ - boost::program_options 从控制台读取整数数组,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9742881/