当前位置:  开发笔记 > 运维 > 正文

控制台打印没有滚动

如何解决《控制台打印没有滚动》经验,为你挑选了1个好方法。

嘿伙计们,我看到控制台应用程序打印颜色和看到的应用程序,如ffmpeg打印文本本身而不是新的行.如何在现有线上打印?我想在我的控制台应用程序中显示fps,无论是在顶部还是在底部,并且有常规printfs去那里并正常滚动

-edit-我需要这个用于Windows,但这是跨平台的,所以我最终会有一个linux和mac实现



1> lImbus..:

有两个简单的可能性适用于Linux和Windows,但只适用于一行:

printf("\b"); 将返回一个字符,所以你可以计算你想要退回多少个字符并在循环中触发它,或者你知道你只写了n个数字然后就像
printf("\b\b\b\b\b\b\b\b\b\b");

printf("text to be overwritten by next printf\r");这会将光标返回到行的开头,因此任何下一个printf都会覆盖它.确保写一个长度相同或更长的字符串,以便完全覆盖它.

如果你想重写几行,没有像ncurses那样可移植的东西,几乎在每个操作系统上都有lib,你不必处理ANSI差异.

编辑:添加了链接到ncurses维基百科页面,提供了很好的概述和介绍,以及链接列表,也许翻译成您的首选语言

推荐阅读
可爱的天使keven_464
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有