VS2015调试"int main(int argc, char **argv)"型控制台程序:输入命令参数

关于“int main(int argc, char **argv)”型控制台程序的调试

方法1:

打开控制台然后输入命令调试;

方法2:

其中vs中代码如下:

	CommandParser cp(argc,argv); // object to parse command line
	
	int lowThreshold = 10;		//deafult value
	int highThreashold = 100;	//deafult value

	double minScore=0.7;		//deafult value
	double greediness=0.8;		//deafult value

	double total_time =0;
	double score= 0;
	cv::Point result;

	//Load Template image 
	char *param;
	param = cp.GetParameter("-t");
	if(param==NULL)
	{
		cout<<"ERROR: Template image argument missing";
		WrongUsage();
		return -1;
	}

	cv::Mat templateImage = cv::imread(param,0);
	if( templateImage.empty())
	{
		cout<<"\nERROR: Could not load Template Image.\n"<<param;
		return 0;
	}
	
	param = cp.GetParameter("-s");
	if(param==NULL)
	{
		cout<<"ERROR: source image argument missing";
		WrongUsage();
		return -1;
	}
	//Load Search Image
	cv::Mat searchImage = cv::imread(param, 0);
	if( searchImage.empty() )
	{
		cout<<"\nERROR: Could not load Search Image." <<param;
		return 0;
	}
	
	param = cp.GetParameter("-l"); //get Low threshold
	if(param != NULL )
		lowThreshold = atoi(param);
	
	param = cp.GetParameter("-h");
	if(param != NULL )
		highThreashold = atoi(param);//get high threshold
	
	param = cp.GetParameter("-m"); // get minimum score
	if(param != NULL )
		minScore = atof(param);

	param = cp.GetParameter("-g");//get greediness
	if(param != NULL )
		greediness = atof(param);


可以直接调试"接收命令输入"的程序,操作也非常简单,流程如下:
项目->属性->调试->命令参数
然后在右边输入具体的命令即可,如下图所示:


需要注意的是,这里的命令不需要再输入exe这一项,VS直接帮你填了。另外就是“工作目录”这一项也需要注意要跟命令中的相对路径进行配合。
 

猜你喜欢

转载自blog.csdn.net/zfjBIT/article/details/83145363