控制台覆盖如顶部

Console overwriting like top

本文关键字:顶部 覆盖 控制台      更新时间:2023-10-16

好的,所以我只是想知道像top(1)这样的控制台应用程序是如何覆盖多行的。我想知道如何为C++或C做这件事。我知道如何只放一个\r就覆盖一行,但我想知道怎样为多行覆盖,就像在顶部一样,或者如果可能的话。

他们使用终端转义序列在屏幕上移动光标。有些甚至使用直接帧缓冲区访问,将屏幕视为可以直接索引的字符数组。

curses(或ncurses)库是一个很好的抽象层。

这可能不会直接解决这个问题,但这类事情依赖于终端,通常使用curses实现来完成(ncurses是最广泛使用的)。