2015-11-25 36 views
0

我已经看过很多以前在这里问过的问题,并且我决定使用unistd.h代替getopt参数行选项解析为C

但是我有一个需要某一个选项取决于之前的选择,因为在

exe -a a_opt -b b_bopt 

其中-b会做b_opt/a_opt

所以它遵循-a必须-b之前进行解析。

有没有一种方法来实现这一点?

感谢

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

回答

0

不,真的没有这种方式只使用getopt来强制执行参数顺序。

什么你可以做的是设置一个标志,当getopt返回-a选项给你,并检查标志,当你得到-b选项。

+0

是的,这也是我的想法。我希望有一些优雅的东西。 –

0

getopt对参数顺序没有意义。通常的做法是为getopt设置一个大的switch,它设置各种标志,之后可以添加标志的进一步依赖性检查。