C++的任何命令行解析库是否允许具有N个参数的选项
Does any of the command line parsing libraries for C++ allow options with N arguments
我正在将python脚本移植到C++,但还没有找到一种方法来表达参数,例如:
--metadata KEY VALUE
在我看到的C++参数解析库中:
- 增强::程序选项
- TCLAP
- Gflags
也许它作为一种可能性存在于其中之一,也许我必须探索其他人,也许我只能手工完成。
你知道C++命令行选项解析库支持多个选项参数吗?
标准shell实用程序语法准则不鼓励使用带多个参数的命令行标志。所以我怀疑你是否会找到一个处理它的标准库。接受格式选项更常见,例如:
--metadata KEY=VALUE
你可能会找到标准库来帮助你使用这种格式(当然,strtok
或std::string::find
也很容易使用)。
如果你真的坚持多选参数的设计选择,如果你告诉它不要排列参数(把+
作为optstring
的第一个字符),你可以用getopt_long
来做;您所需要做的就是在读取参数时手动递增optind
。(也就是说:第一个参数将在optarg
中,下一个参数在argv[optind++]
中,依此类推。)在C++库中可能也有等效的低级破解。
相关文章:
- 如何反转整数参数包
- 使用C++库在Android项目中修改gradle中的cmake参数,用于插入指令的测试
- 如何使用默认参数等选择模板专业化
- 模板参数替换失败,并且未完成隐式转换
- 具有默认模板参数的多态类的模板推导失败
- lambda参数转换为constexpr技巧,然后获取带链接的数组
- 将数组作为参数传递给函数安全吗?作为第三方职能部门,可以探索他们想要的之外的其他元素
- 函数调用中参数的顺序重要吗
- 部分定义/别名模板模板参数
- 模板-模板参数推导:三个不同的编译器三种不同的行为
- 使用不带参数的函数访问结构元素
- 基于另一个成员参数将函数调用从类传递给它的一个成员
- 如何在OMNET++中指定与命令行参数组合的输出文件名
- 如何使用Luacneneneba API正确读取字符串和表参数
- 在派生函数中指定void*参数
- 视图中的参数推导失败:take_while
- static_assert在宏中,但也可以扩展到可以用作函数参数的东西
- 是否有C++编译器选项允许激进地删除所有函数调用,并将参数传递给具有空体的函数
- 具有空参数包的递归可变参数模板(以避免基本情况的重复)
- 引用参数具有空值