欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

C++中main函数中参数argc和argv的使用实例

程序员文章站 2022-07-15 09:21:51
...

含义解释

(1).int argc:即为arguments count(参数数)

运行程序传送给main函数命令行参数的总数,包括可执行程序名。当argc=1时表示只有一个程序名称,此时存储在argv[0]中.
(2).char **argv:即为arguments value/vector(参数值)
字符串数组,用来存放指向字符串参数的指针数组,每个元素指向一个参数,空格分隔参数,长度为argc。数组下标从0开始,
argv[0] 指向程序运行时的全路径名
argv[1] 指向程序在DOS命令中执行程序名后的第一个字符串
argv[2] 指向执行程序名后的第二个字符串
argv[argc] 为NULL.
确切的说需要我们输入的main函数的参数个数应该是:argc-1;

应用实例

实例1:新建工程键代码:

#include <iostream>       
using namespace std;    
    
void main(int argc,char *argv[])    
{    
    for(int i=0;i<argc;i++)    
    {    
        cout<<"argument["<<i<<"] is: "<<argv[i]<<endl;    
    }    
    system("pause");    
}    
C++中main函数中参数argc和argv的使用实例

当没有参数传入时,第一个变量argv[0]依然存在,保存的是函数exe文件的存放地址。

argv是指向指针的指针,“char *argv[]“也可以替换为 “char **argv“,两者是等价的。
给main函数传递参数有两种方法,第一种是在编译环境中设置,以vs2013为例,项目—>属性—>配置属性—>调试—>命令参数,在命令参数中输入,每个参数之间用空格隔开。

C++中main函数中参数argc和argv的使用实例

C++中main函数中参数argc和argv的使用实例

第二种是经常用的方式,通过命令提示符传入。首先打开命令窗口,这里po2个简便方法:

(1)在exe文件所在目录下按shift键同时右击选择打开命令窗口。(2)打开命令窗口后,把exe文件直接拖入命令窗口。

之后输入传入参数,以空格分隔,之后回车,显示如下:

C++中main函数中参数argc和argv的使用实例


实例2:opencv显示图片

#include <iostream>    
#include <core/core.hpp>    
#include <highgui/highgui.hpp>    
using namespace std;
using namespace cv;

void main(int argc, char **argv)
{
	Mat image = imread(argv[1]);
	imshow("image", image);
	waitKey();
	system("pause");
}
C++中main函数中参数argc和argv的使用实例

参考:

http://blog.csdn.net/eastmount/article/details/20413773
http://blog.csdn.net/dcrmg/article/details/51987413

相关标签: argc和argv