Linux下傳參函式getopt使用

2021-10-24 07:32:53 字數 1853 閱讀 4033

int

getopt

(int argc,

char

*const ar**,

const

char

*optstring )

;功能:

解析命令列引數,

引數: argc和ar**分別代表引數個數和內容,跟main()函式裡的命令列引數一樣

optstring: 為選項字串,告知getopt可以處理哪個選項以及哪個選項需要引數,如果選項字串裡的字母後接著冒號:「:」,則表示還有相關的引數,全域變數optarg即會指向此額外引數,如果在處理期間遇到了不符合optstring指定的其他選項,getopt

()將會顯示乙個錯誤訊息,並將全域性域變數設定為「?」字元,將全域性域變數opterr設定為0則將不會列印出錯資訊。

extern

char

* optarg;

extern

int optind, opterr, optopt;

引數optarg:指向當前選項引數的指標

引數optopt:表示最後乙個未知選項

引數optstring: 比如getopt

(argc, ar**,

"td:ch:q::"

)1. 單個字元,表示選項,這裡一共有t、d、c、h、q五個選項

2. 單個字元後接乙個冒號「:」表示該選項後必須跟乙個引數,引數緊跟在選項後或者以空格隔開

3. 單個字元後跟兩個冒號,表示該選項後可以跟乙個引數,也可以不跟,如果後邊跟乙個引數,引數必須緊跟在選項後不能以空格隔開

Linux下程式設計 主函式傳參

主函式的原型為 int main int argc,char ar char envp argc 傳遞的引數列表中引數的個數 ar 傳遞的引數列表 envp 傳遞的環境變數 我們在linux中編寫乙個主函式,看一下執行結果 include include include include includ...

python 入參函式 Python 函式傳參

這個世界其實從不曾有乙個人能取代另乙個人的位置,所謂的取代,只是以前的那個人被遺忘了。普通傳參的小坑def test a return a print test print test print test 返回的結果 a a a a a a 原因 傳入的引數是乙個空的列表,python遇到函式的時候...

可變參函式

int add int x,int main int add int x,int sum 0 char point char x for int i 0 iint add int x,可變參函式原型,該函式中帶有識別符號的引數 x記錄的是引數的個數,後面的數字是需要求和的數。x的作用是為了標誌出加數...