C++學習記錄02

今天的學習,遇到的問題。

1,argc argv[]是什麼意思,爲什麼定義主函數時,要這樣寫

int main(int argc, char* argv[])

百度了一下,解釋是這樣的:

argc是命令行總的參數個數
argv[]是argc個參數,其中第0個參數是程序的全名,以後的參數
命令行後面跟的用戶輸入的參數,比如:
int main(int argc, char* argv[])
{
int i;
for (i = 0; i<argc; i++)
cout<<argv[i]<<endl;
cin>>i;
return 0;
}

執行時敲入
F:\MYDOCU~1\TEMPCODE\D1\DEBUG\D1.EXE aaaa bbb ccc ddd
輸出如下:
F:\MYDOCU~1\TEMPCODE\D1\DEBUG\D1.EXE
aaaa
bbb
ccc
ddd

argc,argv 用命令行編譯程序時有用。
主函數main中變量(int argc,char *argv[ ])的含義
有些編譯器允許將main()的返回類型聲明爲void,這已不再是合法的C++
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( )不是真正的入口點,而是一個標準的函數,這個函數名與具體的操作系統有關。


發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章