getopt 函式使用說明

2021-08-09 03:14:53 字數 1240 閱讀 2936

標頭檔案:

#include

函式原型:

int getopt(int argc,char *const argv[ ],const char * optstring)

getopt()

用來分析命令列引數。引數

argc

和argv

是main()

傳遞的引數和引數的個數。引數

optstring

指向短引數列表,如

"1ac:d::"

就是乙個短引數列表。短引數的定義是乙個

'-'後面跟乙個字母或數字,象

-a, -b

就是乙個短引數。每個數字或字母定義乙個引數。

其中短引數在

getopt

定義裡分為三種:

1. 不帶值的引數,它的定義即是引數本身。

2. 必須帶值的引數,它的定義是在引數本身後面再加乙個冒號。

3. 可選值的引數,它的定義是在引數本身後面加兩個冒號 以

"1ac:d::"

作為樣例進行說明,其中的

1,a就是不帶值的引數,

c是必須帶值的引數,

d是可選值的引數。

在實際呼叫中,

'-1 -a -c cvalue -d', '-1 -a -c cvalue -ddvalue', '-1a -ddvalue -c cvalue'

都是合法的。這裡需要注意三點:

1. 不帶值的引數可以連寫,象1和

a是不帶值的引數,它們可以

-1 -a

分開寫,也可以

-1a或

-a1連寫。

2. 引數不分先後順序,

'-1a -c cvalue -ddvalue'

和'-d -c cvalue -a1'

的解析結果是一樣的。

3. 要注意可選值的引數的值與引數之間不能有空格,必須寫成

-ddvalue

這樣的格式,如果寫成

-d dvalue

這樣的格式就會解析錯誤。

getopt()

每次呼叫會逐次返回命令列傳入的引數。

當沒有引數的最後的一次呼叫時,getopt()將返回-1。

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

當optstring是以':'開頭時,缺值引數的情況下會返回':',而不是'?' 。如「:a:bcde」 ./main –a 。optarg的值是『:』而不是『?』

memset 函式使用說明

sets buffers to a specified character.void memset void dest intc size tcount example memset.c this program uses memset to set the first four bytes of ...

php header 函式使用說明

php只是以http協議將html文件的標頭送到瀏覽器,告訴瀏覽器具體怎麼處理這個頁面,至於傳送的內容則需要熟悉一下http協議了,與php無關了,可參照 header 函式使用說明 一 作用 php只是以http協議將html文件的標頭送到瀏覽器,告訴瀏覽器具體怎麼處理這個頁面,至於傳送的內容則需...

linux open 函式使用說明

open 函式用於開啟和建立檔案。以下是open 函式的簡單描述 include int open const char pathname,int oflag,返回值 成功則返回檔案描述符,否則返回 1 對於 open 函式來說,第三個引數 僅當建立新檔案時才使用,用於指定檔案的訪問許可權位 acc...