唯一可靠的方法是在不依赖外部库的情况下解析这些参数。目前还没有被广泛接受的处理命令行参数的标准。
我需要解析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提供了一个";标准";用于解析此类选项的库。将其视为不可移植的扩展。
长话短说:你需要提供更多关于你的目标平台的细节,以获得更好的答案,但不要指望有完美的解决方案。