getopt()函式(分析命令列引數)

2021-07-31 23:42:21 字數 834 閱讀 4744

#include

int getopt(int argc, char* argv【】, const char* optstring);

getopt直接分析命令列引數,找到選項和選項引數以及運算元的準確位置。

optstring裡存放需要識別的選項字元(如果該選項有引數,則後面加冒號)。

命令列字串個數。

命令列裡的所有字串將會以指標陣列的形式存入argv【】裡。

getopt函式每次返回乙個選項字元,當沒有選項時返回-1。

當解析到乙個不在optstring裡面的引數,或者乙個必選值引數不帶值時,返回「?」。

當optstring是以':'開頭時,缺值引數的情況下會返回「:」,而不是「?」。

如果找到乙個有引數的選項,則全域性變數optarg將指向這個選項引數的首位址。

argv的當前索引值(下標)。當getopt()在while迴圈中使用時,迴圈結束後,剩下的字串視為運算元,在argv【optind】或argv【argc-1】中可以找到。

當發現無效字元時,函式返回「?」或「:」,並且optopt包含了發現的無效選項字元。

這個變數非零時,函式為「無效選項」和「缺少引數選項」,並輸出其錯誤資訊。

getopt 函式 分析命令列引數

標頭檔案 include 定義函式 int getopt int argc,char const argv,const char optstring 函式說明 getopt 用來分析命令列引數。1 引數argc 和argv 是由main 傳遞的引數個數和內容。2 引數optstring 則代表欲處理...

分析命令列引數 getopt函式

include include int main int argc,char argv printf optopt c n optopt getopt b option b b getopt c other option c getopt a other option getopt a12345 o...

getopt 對命令列引數進行分析

getopt 對命令列引數進行分析 int getopt int argc,char const argv,const char optstring 給定了命令引數的數量 argc 指向這些引數的陣列 argv 和選項字串 optstring 後,getopt 將返回第乙個選項,並設定一些全域性變數...