我是一名学习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
部分吗?
如果这是一个重复/错误的问题,我很抱歉,但我甚至不知道如何在网上搜索这个。
答案 0 :(得分:4)
在Visual Studio中:How could I run a project with some parameters in Visual Studio?
在Qt Creator中:QtCreator and Command Line Arguments