main()函数的输入参数 main(int argc, char** argv)

时间:2023-12-20 10:38:56

一般简单的C++程序,main函数的写法都是 int main() {... ; return 0;},但是,如果在运行程序时需要有参数输入,可以是使用将主函数写成int main(int argv, char** argv)的形式。

如测试程序如下:

#include <iostream>
using namespace std; int main(int argc, char** argv)
{
for(int i = ; i<argc; i++)
cout << argv[i] << endl;
}

编译生成ForTest.exe,在文件目录下打开命令窗口,输入ForTest xz dong test ,得到以下结果:

main()函数的输入参数 main(int argc, char** argv)

解释:

int argc(argument count) 变量表示输入参数个数,如ForTest xz dong test表示四个参数,程序名算一个参数,char** argv(argument vector)是参数向量,认为是字符串数组。argv[0]表示第一个参数字符串,第一个参数为函数名,用空格依次分隔各参数。

例程中:

argv[0] = ForTest

argv[1] = xz

argv[2] = dong

argv[3] = test

---------------------------------------------------------------------2014年09月22日补充------------------------------------------------------------

如果需要输入的参数argv有整数,argv以字符串读取,需要将字符串转换为整数,C中含有数据转换函数 int atoi(const char* str)

具体参考:

  atoi 函数介绍 http://msdn.microsoft.com/zh-cn/library/yd5xkb5c.aspx

  C 数据转换 http://msdn.microsoft.com/zh-cn/library/0heszx3w.aspx