C++ main(int argc, char* argv[])命令行参数的使用

通常使用的main入口如下:

int main()
{
	return 0;
}

当需要命令行传参数时:

int main(int argc, char** argv)
{
	return 0;
}

argc:存储输入的参数个数+1

argv:argv[0]是程序名,argv[1]是第一个参数,每个都是char*类型

例子:

int main(int argc, char** argv)
{
	#控制台输入:程序名.exe 参数个数 参数1 参数2 .. 
	int num_params;
	int* array_params;

	//char*转string然后转成int(很笨的写法)
	stringstream strs_change;//在sstream头文件中
	string str_change;
	strs_change << argv[1];
	strs_change >> str_change;
	num_params = stoi(str_change);
	array_params = new int[num_params];

	for (int i = 2; i < num_params + 2; ++i)
	{//把num_params个参数放到array_params数组里
		stringstream strs_change1;
		string str_change1;
		strs_change1 << argv[i];
		strs_change1 >> str_change1;
		array_params[i - 2] = stoi(str_change1);
	}

	//...
	return 0;
}

调用例子:
先生成一下,命令行cd到exe文件夹下

程序名.exe 3 1 2 3

对应例子中num_params = 3 array_params = {1, 2, 3}

你可能感兴趣的:(Windows,c++,开发语言)