getopt()函數
頭文件
#include <unistd.h>
函數參數
int getopt(int argc, char* const argv[], const char* optstring);
extern char* optarg;
extern int optind,opterr,optopt;
- 參數argc,argv直接從main(int argc, char * argv[])中傳遞過來。argc指命令行參數的個數(程序文件名爲第一個)。argv是一個指向各個字符串參數的指針數組。
- optstring是各選項字母組成的串,如果任意選項字母后面有一個冒號(:)則該選項要求需要參數。
- optarg是當前選項的參數串。
- optind是argv的當前索引。
- 當opterr不爲零時,輸出錯誤消息。
- optopt包含無效選項字符。
注意
- 如果optstring的第一個字符爲冒號(:),則getopt函數不會輸出任何錯誤消息。當“無效選項”時,getopt()返回‘?’;當”缺少選項參數“時,返回”:“,如果optstrin的第一個字符不是冒號,則也返回‘?’.
- 在調用getopt()之前,將opterr設爲0,也可以讓getopt不輸出任何錯誤消息。