C語言中getopt 函式的用法

2021-10-06 23:44:56 字數 1602 閱讀 3312

getopt函式用來解析命令列選項,宣告所在標頭檔案為:

#include

函式原型如下:

int

getopt

(int argc,

char

*const ar**,

const

char

*optstring)

;

第乙個引數argc是引數個數,和main函式的argc一樣;

第二個引數ar**是字串指標,和main函式的ar**一樣;

第三個引數 optstring 是選項字串,是本文所要講述的重點。

選項字串的內容如下:

還有一些錯誤處理:

針對字元後無冒號的設定:

針對字元後乙個冒號的設定:

比如,"vha:b:c::"就表示:

使用該函式時,會用到/設定四個全域性變數:

extern

char

* optarg;

extern

int optind;

extern

int opterr;

extern

int optopt;

#include

#include

intmain

(int argc,

char

* ar**)

}}

使用gcc編譯:

gcc getopt_test.c -o getopt_test.o
單獨測試每個選項:

測試都沒有問題,接下來再看看幾種錯誤的情況:

比如 -v 選項不需要引數,帶個引數的結果如下:

再比如-a選項明確需要帶乙個引數,則帶兩個引數的結果如下:

如果不加引數,結果如下:

最後演示乙個綜合示例:

C語言 getopt函式

函式原型 includeint getopt int argc,char const argv,const char optstring extern char optarg extern int optind,opterr,optopt optstring為乙個字元列表,每個字元代表乙個單字元選項...

C語言 getopt 函式

getopt 分析命令列引數 如果覺得本文不夠詳細,可以參考 使用 getopt 進行命令列處理 相關函式表頭檔案 include 定義函式 int getopt int argc,char const argv const char optstring 函式說明 getopt 用來分析命令列引數。...

getopt 函式的用法

另外apue的p619有解釋!通常 linux 下的各種命令都有許多的命令列引數可以選擇,比如 gcc g lm foo.c o foo getopt 就是用來分析命令列引數的函式。在繼續討論getopt 之前,先要明確兩個概念 選項 option 和 選項引數 argument 在上面的例子中,g...