C 的参数行选项解析

Argument Line Option Parsing for C

我之前看过这里提出的许多问题,我决定使用 unistd.h 来获得 getopt.

但是我需要某个选项依赖于先前的选项,如

exe -a a_opt -b b_bopt

-b 的作用 b_opt/a_opt

所以-a必须在-b之前解析。

有没有办法实现这个?

谢谢

编辑:简单的方法是创建一个标志并在最后检查它,但是我正在尝试查看是否有更优雅的解决方案。

getopt中参数顺序没有意义。常见的方法是为 getopt 设置一个大的 switch 案例,它设置各种标志,然后您可以添加进一步的标志依赖性检查。

不,真的没有这种方法可以仅使用 getopt.

来强制执行参数顺序

可以做的是在 getopt returns -a 选项给你时设置一个标志,并在 -a 时检查那个标志你得到 -b 选项。