C++ 是否为C++;允许具有N个参数的选项

C++ 是否为C++;允许具有N个参数的选项,c++,command-line-arguments,C++,Command Line Arguments,我将Python脚本移植到C++,还没有找到一种表达表达式的方法,例如: --metadata KEY VALUE 在C++解析解析库中,我看到: boost::程序选项 TCLAP Gflags 也许它作为一种可能性存在于其中,也许我必须探索其他人,也许我必须手工完成 您知道C++支持多个参数的命令行解析库吗? 命令行标志,它使用不止一个参数,而不受标准shell实用程序语法指南的限制。所以我怀疑你是否能找到一个标准的图书馆来处理它。更常见的是接受格式中的选项,例如: --metadat

我将Python脚本移植到C++,还没有找到一种表达表达式的方法,例如:

--metadata KEY VALUE
<>在C++解析解析库中,我看到:

  • boost::程序选项
  • TCLAP
  • Gflags
也许它作为一种可能性存在于其中,也许我必须探索其他人,也许我必须手工完成


您知道C++支持多个参数的命令行解析库吗?

命令行标志,它使用不止一个参数,而不受标准shell实用程序语法指南的限制。所以我怀疑你是否能找到一个标准的图书馆来处理它。更常见的是接受格式中的选项,例如:

--metadata KEY=VALUE
您可能会发现标准库可以帮助您使用这种格式(当然,
strtok
std::string::find
也很容易使用)


如果您确实坚持多选项参数设计选项,如果您告诉它不要排列参数(将
+
作为
optstring
的第一个字符),您可以使用
getopt_long
来做这件事;您只需在读取参数时手动递增
optin
。(第一个参数将在 OpTARG,下一个在代码> Agv[optn++] 等。)在C++库中也可能有相当低级的Hask。

实际上,这更合理,也意味着任何库都能工作。