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