命令行參數解析
阿新 • • 發佈:2017-05-14
函數 con c庫 命令行參數 style option 調用 sage clas
當我們使用linux系統下很多的命令時,會發現每個命令基本上都有很多的參數選項,這些參數提供給我們很多方便的功能。我們在設計自己的程序時,通常頁可以加入類似的功能,我們可以使用標準c庫中的getopt函數來實現。
void version() { printf("Version: xx 1.0.\n"); return; } void usage(char *pro) { printf("Usage:%s [Options]\n" "Options:\n" " -h\t: help\n" " -v\t: version\n",pro ); } int main(int argc, char **argv) { char ch; while((ch=getopt(argc, (char* const*)argv, "vh")) != -1) { switch(ch){ case ‘v‘: version();break; case ‘h‘: case ‘?‘: case ‘default‘: usage(argv[0]); } } }
其中,getopt的函數原型是:
int getopt(int argc, char *const argv[], const char *optstring);
optstring時參數選項集合,其中的每個字符代表我們提供的參數選項,如果某個字符後面有冒號,代表它後面帶有參數,每次調用getopt,函數將返回一個選項,如果返回-1表示選項返回完畢。如果我們輸入了一個不支持的字符,或者缺少參數,getopt返回?。
命令行參數解析