使用getopt在Linux下獲取命令列引數

2021-04-01 08:15:40 字數 1401 閱讀 6191

使用getopt在

linux

下獲取命令列引數

getopt

在unix

下的命令列程式特別好用,特別是在你有許多引數要加入時。一般來說,你可以透過「

man 3 getopt

」來獲得其說明。這個函式很好用,也很簡單,但網上關於這個函式的中文介紹實在是少之又少,這篇文章就簡單講述一下如何利用

getopt

函式來獲取引數,希望能給那些被引數讀取弄得有一點點煩躁的朋友有一點點幫助。

n表頭檔案:

#include

n函式宣告:

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

n函式說明:

getopt()

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

argc

和argv

是由main()

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

optstring

則代表欲處理的選項字串。此函式會返回在

argv

中下乙個的選項字母,此字母會對應引數

optstring

中的字母。如果選項字串裡的字母後接著冒號

「:」,則表示還有相關的引數,全域變數

optarg

即會指向此額外引數。如果

getopt()

找不到符合的引數則會印出錯資訊,並將全域變數

optopt

設為「?」

字元,如果不希望

getopt()

印出錯資訊,則只要將全域變數

opterr設為0

即可。n

返回值:如果找到符合的引數則返回此引數字母,如果引數不包含在引數

optstring

的選項字母則返回

「?」字元,分析結束則返回-1。

下面是乙個使用

getopt

函式讀取引數的例子程式,該程式支援

–p –s –b –c

的引數,並將這些引數值讀取後進行列印。你可以根據需要將這些**稍作修改用於自己的程式中。

/**getopt.c

*author: coonxu

*email:coonxu@126.***

*這是乙個使用

getopt

函式讀取引數的例子程式,該程式支援

-p -s -b -c

的引數,

* 並將這些引數值讀取後進行列印。你可以根據需要將這些**稍作修改用於自己的程式中。

*/#include

#include

int main(int argc, char **argv)

}return 0;

}

Linux下的getopt 函式

linux下的getopt 函式被設計用來處理命令列引數,使用時只要新增 include 即可。函式原型如下 int getopt int argc,char const argv,const char optstring 當給定了命令引數的數量 指向這些引數的陣列和選項字串後,getopt 將返回...

用Getopt在Linux下獲取命令列引數方法

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

getopt在Python中的使用 轉)

os下有個方法walk,非常的好用,用來生成乙個generator。每次可以得到乙個三元tupple,其中第乙個為起始路徑,第二個為起始路徑下的資料夾,第三個是起始路徑下的檔案。1.匯入getopt,sys 模組 2.分析命令列引數 3.處理結果 第一步很簡單,只需要 import getopt,s...