在编译时将参数传递给main函数

时间:2013-05-26 18:40:56

标签: c++ visual-studio-2010 qt-creator

我是一名学习C ++的新手程序员,以下问题可以被认为是跨平台的,因为我在Visual Studio 2010/12和Linux Mint中的Qt Creator中都尝试过这个。

我已经设置了我的程序的main()函数来接受命令行参数,如下所示:

int main(int argc, char* argv[])
{
if(argc < 5)
    {
        printf("Not enough input parameters!\n");
        printf("Usage:\n");
        printf("'program' lamda1 lamda2 Attraction_Range Order_Param_Range\n");
        return 0;
    }
    else
    {
        lamda1 = atof(argv[1]);
        lamda2 = atof(argv[2]);
        attRange = atof(argv[3]);
        oRange = atof(argv[4]);
        cout << lamda1 << lamda2 << attRange << oRange << endl;
    }
}

但是,当我在Visual Studio中点击Ctrl+F5或在Qt Creator中点击Ctrl+R时,为了编译,代码会分叉到if语句,因为我无法输入任何参数。我可以以某种方式将初始参数传递给我的程序,这样当它编译时,它可以立即转到上面示例的else部分吗?

如果这是一个重复/错误的问题,我很抱歉,但我甚至不知道如何在网上搜索这个。

1 个答案:

答案 0 :(得分:4)