我正在将一个python脚本移植到C ++,并且没有找到表达参数的方法,例如:
--metadata KEY VALUE
在C ++参数中解析我见过的库:
也许它存在于其中一种可能性中,也许我必须探索其他人,也许我只需要手工完成。
您是否了解支持多个选项参数的C ++命令行选项解析库?
答案 0 :(得分:1)
标准shell实用程序语法指南不鼓励使用多个参数的命令行标志。所以我怀疑你是否会找到一个处理它的标准库。接受格式的选项更为常见,例如:
--metadata KEY=VALUE
您可能会找到可以帮助您使用该格式的标准库(当然,strtok
或std::string::find
也可以直接使用)。
如果您真的坚持使用多选项参数设计选项,如果您告诉它不要置换参数,则可以使用getopt_long
执行此操作(将+
作为{{1}的第一个字符}});您需要做的就是在阅读参数时手动增加optstring
。 (即:第一个参数将在optind
中,下一个参数在optarg
,依此类推。)C ++库中可能存在等效的低级别攻击。