Linux下命令列解析函式getopt簡單使用

2021-09-10 20:10:54 字數 661 閱讀 6423

以前寫一些除錯程式的時候解析命令都是使用strtok作分割再判斷,偶然間看到由乙個getopt函式,可以很快的實現這個功能。

#include int getopt(int argc, char * const ar**, const char *optstring);

extern char *optarg;

extern int optind,;

extern int opterr;

extern int optopt;

該函式的argc和ar**引數通常直接從main()的引數直接傳遞而來

optstring是選項字母組成的字串,如果該字串裡的任一字元後面有冒號,那麼這個選項就要求有選項引數

舉個例子

#include #include int main (int argc, char **ar**)

}return 0;

}

[root@kk test]# ./test -n xiaoliu -a 20

my name is xiaoliu

my age is 20

getopt錯誤行為,會返回"?"

1、命令列選項無效

2、缺少引數

linux下命令列解析getopt函式

命令列引數解析函式 getopt getopt 函式宣告如下 include int getopt int argc,char const argv,const char optstring extern char optarg extern int optind,opterr,optopt 該函式...

Linux命令列解析函式getopt

include include int main int argc,char argv return 0 a.out a x a,no opt a.out a b x a,no opt b,opt x a.out ab x c xx a,no opt b,opt x c,opt xx應緊跟c後面 a...

getopt函式,命令列解析

getopt函式 函式功能 用來解析命令列引數,引數argc和ar 分別代表引數個數和內容,跟main 函式裡的命令列引數一樣 函式所在標頭檔案 include 函式原型定義 int getopt int argc,char const ar const char optstring 引數optst...