2015-11-25 72 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,它設置各種標誌,之後可以添加標誌的進一步依賴性檢查。