在C中有没有一种可靠的方法来解析可选的命令行参数,其中可选的标志是单词而不是字符



我需要解析C:中给出的命令选项

/myBinary--选项1名称--选项2年龄--选项3地址

Getopt只支持-l,这是一种标志。有什么建议吗?

唯一可靠的方法是在不依赖外部库的情况下解析这些参数。目前还没有被广泛接受的处理命令行参数的标准。

最好的方法是对main的标准化调用,提供对命令行参数的访问:

int main(int argc, char *argv[]) {
}

操作系统之间有很大的区别,但更糟糕的是。

  • Windows倾向于使用/option-option,但许多工具借用了其他平台
  • Linux倾向于走GNU的道路,通过getopt_long同时提供--option-o
  • BSD和Unix倾向于只使用短-o,但有些应用程序可能是从Linux移植的
  • 许多macOS工具使用-option,但借鉴了BSD,有时也借鉴了Linux

所以只有GNU提供了一个";标准";用于解析此类选项的库。将其视为不可移植的扩展。

长话短说:你需要提供更多关于你的目标平台的细节,以获得更好的答案,但不要指望有完美的解决方案。

最新更新