argc即為argument count的縮寫,表示傳入main函數的參數個數;
argv即為argument vector的縮寫,表示傳入main函數的參數序列或指針,而第一個參數argv[0]一定是程式的名稱,並且包含了程式所在的完整路徑,所以確切的說需要我們輸入的main函數的參數個數應該是argc-1個;空格分隔參數,其長度為argc.數組下標從0開始,argv[argc]=NULL。
argv[0] 指向程式運行時的全路徑名
argv[1] 指向程式在命令中執行程式名稱後的第一個字串
argv [2] 指向執行程式名稱後的第二個字串
argv[argc] 為NULL
#include <iostream> using namespace std; void main(int argc,char *argv[]) { for(int i=0;i<argc;i++) { cout<<"argument["<<i<<"] is: "<<argv[i]<<endl; } system("pause"); }
argv是指向指標的指針,main函數的第二個參數「char * argv[]“也可以替換為“char **argv“,兩者是等價的。
在編譯環境下按F5運行,輸出如下:
#相關資訊:《常見問題》
可見,在沒有參數傳入的情況下,保存程式名稱的第一個變數argv[0]依然存在。
傳參數給main函數有兩種方法,第一種方式是在編譯環境中設置,以vs2012為例,右鍵點選項目—>屬性—>配置屬性—>調試—> ;指令參數,在指令參數中輸入,每個參數之間以空格隔開。
之後點選確定並套用,運行之後顯示如下:
#第二種方式也是經常會用到的方式是透過命令提示字元傳入。首先需要打開命令提示字元窗口,點擊開始功能表在「搜尋程式和檔案」裡輸入命令「cmd」或直接按快捷鍵Windows R,在彈出的對話框裡輸入「cmd」即可開啟命令提示字元視窗:
開啟命令提示字元視窗後需要輸入產生的exe檔案所在的完整路徑,一個簡單的方法就是把exe檔直接拖入提示字元視窗即可,之後輸入傳入參數,以空格分隔,之後回車,顯示如下:
以上是argc和argv怎麼使用的詳細內容。更多資訊請關注PHP中文網其他相關文章!