我正在爲我的大學工作/開發一個C程序,它可以在調用時有3個選項(-h
幫助,-o <argument>
(有或沒有它),最後一個選項可以是像(test-in-1)的字符串):當選項是C上的字符串時如何使用getopt?
./myprogram test-in-1
我來處理我的主要選項,並做什麼需要時調用它們。他們都不是強制性的。
我想使用getopt
不過來解析選項的其中之一選項實際上是一個string(char *)
,並與這一個,我有點不知所措,因爲getopt
不能夠讀取字符串,只有字符或字符與一個論點(例如,-h
,-o <argument>
,據我瞭解)。任何想法我怎麼能做到這一點?
我不能真的發佈除主線以外的任何代碼,因爲我在卡住它的開始(int main(int argc, char *argv[]))
。
預先感謝任何意見/正確的方向點。
請參閱[this](http://stackoverflow.com/questions/13691715/what-is-the-best-practice-for-creating-a-unix-linux-command-line-tool-in-cc? lq = 1) – t0mm13b
謝謝!看起來很容易理解! – marisa79
'test-in-1'不是一個選項,它是一個常規參數。 'getopt()'和類似的庫通常只處理以'-'(或'getopt_long()'中的'+')開頭的選項。字符串參數留給程序自己處理。 – Barmar