c和C++main函数中参数的意义和用法

main函数是C++的主函数,除了程序本身外,任何函数都不可以调用main函数。main函数中可以添加参数,也可以不写。main函数默认有两个参数,main(int argc, char ** argv),其中,argc是用来表面main函数究竟调用了几个参数,因为程序本身的文件名就是一个参数,所以argc总是>=1。如果除了程序本身外,你还规定了其它的一些参数,例如在vs里面进行调试时,输入了参数”1.jpg”,则argv[1] = “1.jpg”.也就是说,你输入了几个参数,总的参数个数就是你输入的参数个数再加1。
例如如下代码:

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

int main(int argc, char** argv)
{
    if (argc != 2)
    {
        cout << "Error" << endl;
        return -1;
    }
    Mat image;
    image = imread(argv[1], CV_LOAD_IMAGE_COLOR);

    if (!image.data)
    {
        cout << "Error1" << endl;
        return -1;
    }
    cout << "argc = " << argc << endl;
    cout << "argv[0] = " << argv[0] << endl;
    cout << "argv[1] = " << argv[1] << endl;
    namedWindow("Display Window",CV_WINDOW_AUTOSIZE);
    imshow("Display Window",image);

    waitKey(0);
    return 0; 
}

项目的属性页,调试选项中有个命令参数选项,里面你就可以写入一些参数,例如我写入了“2.jpg”,那么程序运行的结果就是

argc = 2
argv[0] = E:\VS2010\opencv\Debug\opencv.exe
argv[1] = 2.jpg

而且,我如果写入参数 35 “2.jpg”,(需要首先将第一个if判断句注释掉,因为此时参数的总个数为3),那么程序运行结果就是

argc = 2
argv[0] = E:\VS2010\opencv\Debug\opencv.exe
argv[1] = 35

而argv[2] = 2.jpg

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值