实操:main(int argc,char ** argv) 输出main函数的参数

C++Primer5第6.24题
题目:编写一个main函数,接收两个实参,并将实参连接成string输出。
代码:

#include<iostream>
#include<string>
using namespace std;
int main(int argc, char* argv[]){ //char* argv[]等同于char** argv
	string str = "";
	for (int i = 0; i != argc; ++i){
		str += argv[i];
	}
	cout << str << endl;
	system("pause");
	return 0;
}

直接在VS中,调试运行,明面上并看不出在哪输入参数(其实是有的,就是略麻烦),这里介绍一种方法:
进入*.exe文件所在文件夹,在文件夹的地址导航栏输入cmd后回车,打开终端(这样打开的终端,其路径就是当前文件夹,很方便)。在命令行中输入以下3条命令进行测试:

Microsoft Windows [版本 6.1.7601]
版权所有 (c) 2009 Microsoft Corporation。保留所有权利。

//第一次尝试:带双引号,正确的可执行文件名,成功
E:\Visual Studio 2013\Projects\C++Primer5\Debug>"C++Primer5.exe" 2 hello main
C++Primer5.exe2hellomain
请按任意键继续. . .


//第二次尝试:带双引号,当前文件夹不存在的可执行文件名,失败
E:\Visual Studio 2013\Projects\C++Primer5\Debug>"C++Primer.exe" 2 hello main
'"C++Primer.exe"' 不是内部或外部命令,也不是可运行的程序
或批处理文件。


//第三次尝试:不带双引号,正确的可执行文件名,成功
E:\Visual Studio 2013\Projects\C++Primer5\Debug>C++Primer5.exe 2 hello main
C++Primer5.exe2hellomain
请按任意键继续. . .

可以发现,只要正确输入可执行文件名称,不管加不加双引号括起来都是可行的。

posted on 2020-01-02 17:17  丁错儿  阅读(5)  评论(0编辑  收藏  举报

导航