我已經看過很多以前在這裏問過的問題,並且我決定使用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
,它設置各種標誌,之後可以添加標誌的進一步依賴性檢查。
是的,這也是我的想法。我希望有一些優雅的東西。 –