使用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...