命令列引數解析
阿新 • • 發佈:2019-01-01
對這種主函式形式一直不是很瞭解,今天研究了一下,所得如下:
當我們成功執行一個程式時,在Windows環境下會生成一個exe檔案,我們可以再命令列中開啟並執行這個程式。
比如說如下程式碼。
#include <iostream>
using namespace std;
int main(int argc,char *argv[])
{
cout<<argc<<endl;
for(int i=0;i<argc;i++)
cout<<argv[i]<<endl;
return 0;
}
生成的exe檔案的目錄為C:\Users\think\Desktop\c++\argc\bin\Debug\argc.exe
我們使用cd命令列符進入argc.exe所在目錄
輸入agrc.exe,得到…
根據網上引數介紹,argc代表命令個數,*argv[]是命令的字元陣列,又結果輸出argc=1,*argv[0]為argc.exe,可知系統認為agrc.exe字串是第一個命令。
繼續測試如下
輸入4個字串,分別為argc.exe,123,456,789
輸出agrc=4和相應4個命令字串!
總結如下,在系統命令提示符中,系統根據字串的個數確定argc,並使用agrv[]指標陣列指向所有字串..這兩個就是用於接受引數和記錄引數資訊的。