linux系统打印固定位置刷新方法
如上,就能实现固定位置的打印了。
·
传统打印方式:
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); //光标移到左上角
魔乐社区(Modelers.cn) 是一个中立、公益的人工智能社区,提供人工智能工具、模型、数据的托管、展示与应用协同服务,为人工智能开发及爱好者搭建开放的学习交流平台。社区通过理事会方式运作,由全产业链共同建设、共同运营、共同享有,推动国产AI生态繁荣发展。
更多推荐



所有评论(0)