我已经看过很多以前在这里问过的问题,并且我决定使用unistd.h代替getopt。参数行选项解析为C
但是我有一个需要某一个选项取决于之前的选择,因为在
exe -a a_opt -b b_bopt
其中-b
会做b_opt/a_opt
所以它遵循-a
必须-b
之前进行解析。
有没有一种方法来实现这一点?
感谢
编辑:最简单的方法是创建一个标志,并在最后检查它,但是我想要看看是否有更好的解决方案。
我已经看过很多以前在这里问过的问题,并且我决定使用unistd.h代替getopt。参数行选项解析为C
但是我有一个需要某一个选项取决于之前的选择,因为在
exe -a a_opt -b b_bopt
其中-b
会做b_opt/a_opt
所以它遵循-a
必须-b
之前进行解析。
有没有一种方法来实现这一点?
感谢
编辑:最简单的方法是创建一个标志,并在最后检查它,但是我想要看看是否有更好的解决方案。
不,真的没有这种方式只使用getopt
来强制执行参数顺序。
什么你可以做的是设置一个标志,当getopt
返回-a
选项给你,并检查标志,当你得到-b
选项。
getopt
对参数顺序没有意义。通常的做法是为getopt
设置一个大的switch
,它设置各种标志,之后可以添加标志的进一步依赖性检查。
是的,这也是我的想法。我希望有一些优雅的东西。 –