main():
處理命令列選項
int main(int argc,char *argv)
是c++
的裡面的
main
()函式的一種擴充套件原型
其中int argc
表示的是執行程式時命令列裡所帶引數的個數
+1 (
因為包括了該程式名
) ,如果不帶引數的話那就預設是
1 char *argv
引數是字元陣列的指標,也可以用
char **argv
表示,不過嚴格來講是不一樣的。
前者是指向字元指標的陣列,後者是指向字元指標的指標。由於
c裡面沒有真正的陣列,是用指向乙個數值的系列的指標來表達陣列的,所以上面的兩種表示差不多。不過
char **
實際上有二義性,可能是乙個
char*
的指標或
char *
的陣列的指標。
所以char* argv
就要明確一些。
argv
裡面的內容就是引數的內容。如果不帶引數的話那
argv[0]
就是程式的路徑名
請看下面兩個例子(兩個都是乙個意思,乙個是
c版,乙個是
c++版)
/c++
版/
#include
int main(int argc,char *argv)
編譯後程式的名字叫
program.exe,在e
盤根目錄下,執行時,顯示的結果是如下圖
e:/program
(回車)
argc=1
argv[0]=e:/program.exe
e:/program aa bb cc
(回車)
argc=4
argv[0]=e:/program.exe
argv[1]=aa
argv[2]=bb
argv[3]=cc
至於aa bb cc
這些引數是幹什麼的,那是在程式裡自己定義的
main處理命令列選項
main處理命令列選項 雨竹清風 main 函式的引數可以是不為空,main 函式中的引數有兩個,乙個是argc表示陣列中元素的個數,乙個是char argv,表示的是指向乙個字串陣列的指標,所以也可以寫成char argv。有參的main 函式可寫為main int argc,char argv ...
main 處理命令列選項
假如我們的主函式main位於名為prog的可執行檔案中可以將實參選項傳遞給程式 prog d o ofile data0 int main int argc,char argv 這種用法的處理方法實際上是在主函式main 中定義了兩個形參 第二個形參argv是乙個c風格字串陣列 第乙個argc則用於...
命令列選項的處理
2012十二月 19日 對命令列的選項的處理有時是乙個比較頭疼的問題。首先需要從輸入中識別出命令列選項來,通過選項的組合出需要呼叫的具體處理過程。在unix世界中命令列選項有共性,更是千差萬別。如果手工去處理我們的方法一般會先進行分詞,之後進行詞法分析。這個過程的複雜度隨著引數數量的增加而增加。in...