**
argc,argv 用命令列編譯程式時有用。
主函式main中變數(int argc,char *argv[ ])的含義
我們平時定義主函式時通常的寫法為:int main( )或void main( )
其實,int main( ) 只是 unix 及 linux 默許的用法,
main(int argc, char *argv[ ], char *env[ ])才是unix和linux中的標準寫法。
argc: 整數,用來統計你執行程式時送給main函式的命令列引數的個數
* argv: 字串陣列,用來存放指向你的字串引數的指標陣列,每乙個元素指向乙個引數
argv[0] 指向程式執行的全路徑名
argv[1] 指向在dos命令列中執行程式名後的第乙個字串
argv[2] 指向執行程式名後的第二個字串 ... argv[argc]為null。
*env:字串陣列。
env[ ]的每乙個元素都包含envvar=value形式的字串。其中envvar為環境變數,value 為envvar的對應值。
argc, argv,env是在main( )函式之前被賦值的,編譯器生成的可執行檔案,main( )不是真正的入口點,而是乙個標準的函式,這個函式名與具體的作業系統有關。
經典小例子,對於理解argv[ ]函式很管用:
#include
int main(int argc, char *argv[ ])
假設將其編譯為test.exe
在命令列下
〉test hello
得到的輸出結果為
2 hello
test
main(int argc, char*argv[ ]),其中argc是指變數的個數,本例中即指test和hello(注意,命令test也算在內)這兩個變數,argc即為2 argv是乙個char *的陣列,其中存放指向引數變數的指標,此處argv[0]指向test,argv[1]指向hello
再例:
#include
#include
int main(int argc,char *argv[ ])
if(argc==2)
exit(0)
} 編譯該程式:gcc -o edit edit.c
執行:〉edit
結果:請輸入想要編輯的檔名如:fillname
執行:〉edit f1.txt
結果:編輯 f1.txt
執行edit時,argc為1,argv[0]指向edit
而執行edit f1.txt時,argc的值為2,argv[0]指向edit,argv[1]指向f1.txt
argc和argv的用法
main int argc,char argv argv為指標的指標 argc為整數 char argv or char argv or char argv main 括號內是固定的寫法。下面給出乙個例子來理解這兩個引數的用法 假設程式的名稱為prog,當只輸入prog,則由作業系統傳來的引數為 a...
argc和 argv 函式簡記
如下 int main int argc,char argv 第乙個int argc 是記錄輸入在命令列的字串個數,char argv是指標陣列,存放輸入在命令列中的命令即字串。例 命令列輸入 one two three則 argc 0 中存放one,argc 1 中存放two,argc 2 中存放...
Opencv中argc和argv引數
程式中加入system pause 語句暫停黑視窗時,不要加於return0之後 另外就是若加該語句,vs提示找不到識別符號時,可加入 include 語句,達到消除錯誤的目的。main int argc,char argv 中argc統計程式執行時傳送給main函式的命令列引數的個數 命令列輸入引...