如何输出到控制台,并在不清除屏幕和重写所有内容的情况下覆盖文本

How do I output to the console, and overwrite text without clearing the screen and re-writing everything?

本文关键字:重写 屏幕 文本 覆盖 情况下 清除 输出 何输出 控制台      更新时间:2023-10-16

就像使用aircrack-ng或任何具有不断更新的数据表的程序一样。

=\

这在一定程度上取决于系统,最重要的是,您要覆盖多少。 对于许多简单的程序,输出'r'就可以了:它会将光标返回到行首(在几乎所有控制台上),并且您可以覆盖该行。 (我过去曾将其用于不断更新的进度报告:例如n records processed。 请务必在准备就绪之前不要输出'n'

对于更复杂的内容,通常的解决方案是curses库。 它应该存在于大多数Unix上(有时以ncurses的名称),并且还有一个ncurses到Windows的端口。 (库的通用名称,以及它在传统Unix下的名称,是curses ; ncurses 是一个 GPL 实现库。