C++之main函式帶引數
阿新 • • 發佈:2018-12-10
前言:我們一般使用的main函式不加引數,當加了引數會怎樣呢?
int main(int argc,char**argv)
{
....
return 0;
}
引數解析: int argc: 英文名為arguments count(引數計數) char** argv: 英文名為arguments value/vector(引數值) argv[0] 指向程式執行時的全路徑名 argv[i] 指向程式在DOS命令中執行程式名後的第i個字串 argv[argc]陣列越界. 例一:
#include <iostream>//輸入輸出流類庫 using namespace std; int main(int argc, char** argv) { //main函式引數測試 cout<<"此程式一共有"<<argc<<"個引數"<<endl; for(int i=0;i<argc;i++) { if(i==0){ cout<<"此程式全路徑名是:"<<argv[i]<<endl; } else{ cout<<"第"<<i<<"個引數是"<<argv[i]<<endl; } } system("pause"); return 0; }
例二:
#include <iostream>//輸入輸出流類庫 #include <string> using namespace std; int main(int argc, char** argv) { //用main函式求和,字元變數字 ,#include <string> ;變字串to_string();變數字stoi(); cout<<"一共對"<<argc-1<<"個數求和"<<endl; int sum=0; for(int i=1;i<argc;i++) { //解決 'stoi()' was not declared in this scope.DEVC++中會出現該現象 //Under Project->Project Options->Compiler->Code generation->Language standard choose C++11. sum=sum+ stoi(argv[i]); if(i==argc-1) cout<<stoi(argv[i]); else cout<<stoi(argv[i])<<"+"; } cout<<"="<<sum<<endl; system("pause"); return 0;}
執行方法(僅限VS2010) 1.將改程式碼在IDE環境中執行 會有下圖:
2.複製此執行結果中的全路徑名到“開始”“執行”或者快捷鍵win+R,將地址貼上到這裡,然後輸入空格鍵+要輸入的引數以例一為例: 例二的執行結果如下: