目录
一、概述
二、例子
1、代码
2、编译运行
3、参数传递方式1
4、参数传递方式2
一、概述
argc 是 argument count的缩写,表示传入main函数的参数个数;argv 是 argument vector的缩写,表示传入main函数的参数序列或指针,并且第一个参数argv[0]一定是程序的名称,并且包含了程序所在的完整路径,所以确切的说需要我们输入的main函数的参数个数应该是argc-1个。
二、例子
1、代码
简单用法示例,新建工程键代码:
(1)多字节字符集版本
// testarc2.cpp : 定义控制台应用程序的入口点。
//#include "stdafx.h"#include <iostream>using namespace std;int _tmain(int argc, _TCHAR* argv[])
{for(int i=0;i<argc;i++){cout<<"argument["<<i<<"] is: "<<argv[i]<<endl;}system("pause");return 0;
}
(2)UNICODE字符集版本
// testarc2.cpp : 定义控制台应用程序的入口点。
//#include "stdafx.h"#include <iostream>using namespace std;int _tmain(int argc, _TCHAR* argv[])
{for(int i=0;i<argc;i++){wcout<<"argument["<<i<<"] is: "<<argv[i]<<endl;}system("pause");return 0;
}
(3)解析
argv是指向指针的指针,main函数的第二个参数“char *argv[]“也可以替换为 “char **argv“,两者是等价的。
2、编译运行
在编译环境下按F5运行,输出如下:
3、参数传递方式1
可见,在没有参数传入的情况下,保存程序名称的第一个变量argv[0]依然存在。传参数给main函数有两种方法,第一种方式是在编译环境中设置,以vs2010为例,右击项目—>属性—>配置属性—>调试—>命令参数,在命令参数中输入,每个参数之间用空格隔开。
之后点击确定并应用,运行之后显示如下:
4、参数传递方式2
第二种方式也是经常会用到的方式是通过命令提示符传入。首先需要打开命令提示符窗口,点击开始菜单在“搜索程序和文件”里输入命令“cmd”或者直接按快捷键 Windows+R,在弹出的对话框里输入“cmd”即可打开命令提示符窗口:打开命令提示符窗口后需要输入生成的exe文件所在的完整路径,一个简便的方法是把exe文件直接拖入提示符窗口即可,之后输入传入参数,以空格分隔,之后回车,显示如下: