C++中,比較常見的是不帶參數的主函數int main(),若是使用命令行執行程序,主函數也能夠接收預先輸入的參數,形式以下。ios
int main(int argc,char **argv)
例如,咱們在命令行輸入Project.exe string1 string2 string3
時,argc=4,表示輸入的參數個數是4,分別是Project.exe
、string1
、string2
、string3
。windows
argv是一個字符串數組,對應存儲這4個字符串,即argv[0] = "Project.exe", argv[1] = "string1", argv[2] = "string2", argv[3] = "string3"。所以能夠在主函數中,後續經過argc和argv獲取參數信息。數組
int main(int argc,char **argv)也能夠寫成int main(int argc, char *argv[])。函數
假設要經過命令行接收一串數字,程序輸出這串數字的和。命令行
#include <iostream> #include <cstdlib> // int main(int argc, char *argv[]) int main(int argc, char **argv) { int sum = 0; for (int i = 1; i < argc; ++i) { int num_i = atoi(argv[i]); // 字符串轉換成整數 sum += num_i; } std::cout << sum; return 0; }
編譯程序,生成.exe文件,windows環境下,能夠進入cmd界面,經過cd
指令進入exe文件的所在目錄。3d
好比我這裏所生成的Project.exe文件路徑爲 E:\C++ Projects\MediaTek\03 數列求和\Project1\Debug,在cmd界面,先輸入e:
,而後回車,進入E盤,再輸入cd E:\C++ Projects\MediaTek\03 數列求和\Project1\Debug
,回車,從而進入exe文件的所在目錄。code
接下來輸入Project1.exe 11 12 13 14
,回車,結果顯示爲50。blog