那么GNU getopt只支持中间的选项?

时间:2011-07-02 09:22:55

标签: c gnu getopt

我正在尝试getopt API:

http://www.gnu.org/s/hello/manual/libc/Example-of-Getopt.html#Example-of-Getopt

但我发现它只支持中间的选项?

我发现它将argv[optind]判断为argv[argc-1]为非选择参数。

是这样的吗?

1 个答案:

答案 0 :(得分:5)

GNU getopt允许在命令行的任何位置使用选项。但是,在解析时,它会重新排序argv。您可以通过将示例代码保存在文件中,编译它并运行结果来验证这一点:

./a.out
./a.out -a
./a.out foo
./a.out -a foo
./a.out foo -a

最后两个会给出相同的结果。