main(int argc, char*argv[])函数里参数的含义

来源:互联网 发布:labview软件 编辑:程序博客网 时间:2024/06/05 18:00

首先假设我们写了一个处理数据的程序,以图像处理为例。

处理程序需要图片数据,读取数据一般有两种情况,

一,程序中把读入的路径写死。

二,使用带参数的main函数。

当然还有使用一些界面框架之类的方法,比如弹出一个文件选择框等等。这样就太麻烦了。

下面说进入正题。

如果使用第一种方法,读入一个图片,进入处理程序,得到结果。

如果想换一张图片,需要不断地修改源代码或者修改图片路径名称来适应源代码,比较麻烦。

使用第二种方法,

首先介绍一下参数含义

int argc,代表命令行现在所在的位置。

char *argv[] 代表命令行的字符内容。

只有这两句话还是不太明白什么意思,要理解这个首先要知道这种类型的程序是怎么执行的。

这种类型的程序有两种执行方式。

一,dos环境下执行。

一般程序执行之后会再Debug(/Release)文件夹里生成一个exe,这个我们在编译连接之后就会得到。在开始里输入cmd,弹出dos菜单,进入这个exe,例子如下图


此时,argc的数值为1.argv[0] = "F:\In\FFF\Debug>FFF.exe"

接下来打空格,输入第一个字符串


此时,argv = 2,argc[1] = "test.png"

以此类推,当参数输入完成时


此时,argv = 4,argc[4] = "model3D.yml".

参数输入完毕,点击回车运行程序。

参数的输入实际上是在main()函数执行之前做的工作,输入完参数之后才开始执行main()函数里的程序。

二,vs2010环境下运行。

这种方法允许调试程序,需要在工程属性界面输入执行exe的路径和参数即可。



0 0
原创粉丝点击