我正在尝试getopt
API:
http://www.gnu.org/s/hello/manual/libc/Example-of-Getopt.html#Example-of-Getopt
但我发现它只支持中间的选项?
我发现它将argv[optind]
判断为argv[argc-1]
为非选择参数。
是这样的吗?
答案 0 :(得分:5)
GNU getopt允许在命令行的任何位置使用选项。但是,在解析时,它会重新排序argv
。您可以通过将示例代码保存在文件中,编译它并运行结果来验证这一点:
./a.out
./a.out -a
./a.out foo
./a.out -a foo
./a.out foo -a
最后两个会给出相同的结果。