一般main函数是没有参数的,但有时我们确实需要给main传递实参,一种常见的情况是用户通过设置一组选项来确定函数要进行的操作。 main函数定义成:
int main(int argc,char *argv[])
第二个形参是一个数组,而第一个形参表示数组中的字符串数量 ,为实参数量+1,因为argv的第一个元素是指向运行程序名的,后面才是指向各个实参。
代码:
#include<iostream>
#include<string>
using namespace std;
int main(int argc, char* argv[])
{
string s;
//cout << "argc=" << argc << endl;
//cout << argv[0] << endl;
for (int i = 1; i != argc; ++i) //argv[0]是文件名或空字符串
{
s += argv[i];
s += " ";
}
cout << s << endl;
system("pause");
}
方法:
1、找到所写代码的运行程序如6.2.5练习6.25.exe所在目录
2、用命令行输入cd+空格+所在目录
3、输入运行程序名+空格+要传递的实参
运行:
我所写的代码是i是从1开始遍历的,所以不会输出argv[0],即运行程序名。