2014-02-20 24 views
0

我想製作一個帶有可選參數-a的程序,該程序可以具有可選值'文件名'。要做到這一點,我想使用getopt,但我不能讓-a採取可選參數。C:使用帶有可選參數的選項的getopt

如果我通過"a"我可以做./my_prog -a

如果我通過"a:"我可以做./my_prog -a filename // filenamen是不是在這裏可選的

如果我通過"a::"我可以做./my_prog -a[filename]

不過是有一種方法來獲得結果-a [filename]//文件名是可選的?

回答

3

我不相信你所要求的是可能的。

這可能是一件好事:如果您的程序調用爲./my_prog -a -b其中-b是應該採用的另一種選擇,那麼應該怎麼做?它不應該使用-b作爲-a後面的可選文件名,或者假定沒有給出文件名並將其作爲選項處理。

因此,我會建議重新考慮您所要求的行爲是否確實是一個好主意。