1. 程式人生 > >命令列引數解析

命令列引數解析

對這種主函式形式一直不是很瞭解,今天研究了一下,所得如下:
當我們成功執行一個程式時,在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[]指標陣列指向所有字串..這兩個就是用於接受引數和記錄引數資訊的。