C語言-解析命令列引數
阿新 • • 發佈:2019-02-04
#include <stdio.h> #include<unistd.h> /* 函式說明 : int getopt(int argc,char * const argv[ ],const char * optstring);) 用來分析命令列引數。引數argc和argv分別代表引數個數和內容,跟main()函式的命令列引數是一樣的。 引數 optstring為選項字串, 告知 getopt()可以處理哪個選項以及哪個選項需要引數,如果選項字串裡的字母后接著冒號“:”, 則表示還有相關的引數,全域變數optarg 即會指向此額外引數。如果在處理期間遇到了不符合optstring指定的其他選項getopt()將顯示一個錯誤訊息, 並將全域變數optarg設為 “?”字元,如果不希望getopt()打印出錯資訊,則只要將全域變數opterr設為0即可。 */ int main(int argc,char *argv[]) { int opt; opterr =0 ;//不輸出錯誤 while ((opt = getopt (argc, argv, "A:B:C:")) != EOF) switch (opt) { case 'A': printf("\033[40;31m *parameter a is:%s* \033[0m \n",optarg); break; case 'B': printf("parameter B is:%s\n",optarg); break; case 'C': printf("parameter C is:%s\n",optarg); break; default: printf("other option is wrong\n"); } return 0; }