C語言命令行參數解析函數

getopt()函數

頭文件

#include <unistd.h>

函數參數

int getopt(int argc, char* const argv[], const char* optstring);
extern char* optarg;
extern int optind,opterr,optopt;
  1. 參數argc,argv直接從main(int argc, char * argv[])中傳遞過來。argc指命令行參數的個數(程序文件名爲第一個)。argv是一個指向各個字符串參數的指針數組。
  2. optstring是各選項字母組成的串,如果任意選項字母后面有一個冒號(:)則該選項要求需要參數。
  3. optarg是當前選項的參數串。
  4. optind是argv的當前索引。
  5. 當opterr不爲零時,輸出錯誤消息。
  6. optopt包含無效選項字符。

注意

  • 如果optstring的第一個字符爲冒號(:),則getopt函數不會輸出任何錯誤消息。當“無效選項”時,getopt()返回‘?’;當”缺少選項參數“時,返回”:“,如果optstrin的第一個字符不是冒號,則也返回‘?’.
  • 在調用getopt()之前,將opterr設爲0,也可以讓getopt不輸出任何錯誤消息。
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章