传统打印方式:

std::cout << "x = "<<x<<"y = "<<y<<std::endl;

打印会一直向下刷新,类似下面这种:
在这里插入图片描述
但是如果我们需要将打印固定在一个位置,我们可以实现下图操作:
在这里插入图片描述
实现了数据变化在固定位置,方便我们进行观看,具体实现代码如下:

std::cout << "\033[2J\033[1;1H";	//清除打印屏幕端口
/*打印的数据内容*/
for(uint8 i=0;i<8;i++)
{
	printf("X = %3d",x); //一定要输出对应的数据宽度,不然容易出现打印混乱
}
std::cout << "\033[1;1H";	//光标移动到左上角重新开始打印

如上,就能实现固定位置的打印了

windows下实现的代码如下:

	for (i = 0; i < 8; i = i + 1)
	{
		printf("X = %6.3f , y = %6.3f  angle = %6.3f ID = %2d  distance = %6d  pos_x = %6.0f  pos_y = %6.0f  \n", Car_pos_x, Car_pos_y, Car_pos_angle,i, uss_side_dis[i], uss_postion[i].x, uss_postion[i].y);
	}

	Sleep(1);
	HANDLE hConsole = GetStdHandle(STD_OUTPUT_HANDLE);
	COORD cursorPos;
	cursorPos.X = 0;
	cursorPos.Y = 0;
	SetConsoleCursorPosition(hConsole, cursorPos);			//光标移到左上角
Logo

魔乐社区(Modelers.cn) 是一个中立、公益的人工智能社区,提供人工智能工具、模型、数据的托管、展示与应用协同服务,为人工智能开发及爱好者搭建开放的学习交流平台。社区通过理事会方式运作,由全产业链共同建设、共同运营、共同享有,推动国产AI生态繁荣发展。

更多推荐