假設要解析的命令列引數如下:
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...