c語言解析命令列引數的簡單例子

2021-08-20 14:37:13 字數 962 閱讀 1774

假設要解析的命令列引數如下:

getopts

.exe[-

-port

9000]-

-freq1-

-size5-

-file

filename

#include 

int getopts(int argc, char **argv);

int main(int argc, char* argv)

return0;}

int getopts(int argc, char **argv)

else

if (!strcmp(argv[i],"--freq")&&i+1

printf("hz:%d\n",hz);

hasfreq=1;

}else

if (!strcmp(argv[i],"--size")&&i+1

printf("size:%d\n",size);

hassize=1;

}else

if (!strcmp(argv[i],"--file")&&i+1

strcpy(filepath,argv[++i]);

printf("file:%s\n",filepath);

hasfile=1;

}else

}return hasfreq&&hassize&&hasfile;

}

程式執行結果:

通過**的最後一行,我們實際上做的是可選引數的篩選,例項中只有port這個引數是可選引數。執行結果中的最後一次執行也做了驗證。

當獲取引數失敗時,會將使用示例列印出來。

解析命令列引數

include include include include int make argv const char astr,const char delimiters,char argvp void free argv char argvp int main int argc,char argv i...

C語言命令列引數

之前曾經使用過很多次c語言的命令列引數了,但是總是每次使用的時候都不太確定,需要重新查資料,這次來個總結。c語言的命令列引數非常簡單,只需要乙個簡單的例子就可以說明 cpp view plain copy include void main intargc,char argv 在上面的例子中,我們給...

C語言 命令列引數

可以通過main函式帶上兩個引數來獲取命令列的引數。argc 命令列引數的個數。argv 由命令列引數組成的字串陣列。include int main int argc,char argv return 0 編譯後執行結果 gcc test.c o test test a b c argv 0 te...