1. 程式人生 > >命令行參數解析

命令行參數解析

函數 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返回?。

命令行參數解析