我需要使用getopt
函数解析参数。问题是如果我在选项之前和/或之后有参数,getopt
不起作用。一旦遇到nonoption参数,选项处理就会停止。
例如:tftp ip port [-b blksize] src dest
不起作用。
但tftp [-b blksize] ip port src dest
效果很好。
显然,我需要在+
的开头添加optstring
,以便能够混合参数和选项,但根据https://www.gnu.org/software/gnulib/manual/html_node/getopt.html 3}}在Max OS X上不支持1} p>
你有解决方案吗?感谢。
答案 0 :(得分:3)
将getopt
中传递的内容更改为argv
和argc
以跳过命令部分。
例如,您在tftp ip port [-b blksize] src dest
假装port
的{{1}}为argv[2]
。致电argv[0]
。
getopt(argc - 2, argv + 2, optstring)
这只是一个例子。您可以添加逻辑来确定是否存在命令或子命令。