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

标签 c++ linux macos

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

=\

最佳答案

这在某种程度上取决于系统,最重要的是,您要覆盖多少。对于很多简单的程序,输出 '\r'将达到目的:它将光标返回到行的开头(在几乎所有控制台上),并且您可以覆盖该行。 (我过去曾将其用于不断更新的进度报告:例如 <i>n</i> records processed。请确保在准备好之前不要输出 '\n'

对于更复杂的情况,通常的解决方案是 curses图书馆。它应该出现在大多数 Unix 上(有时在名称下 ncurses ),并且有一个端口 ncurses也适用于 Windows。 (该库的通用名称,其在传统 Unix 下的名称是 cursesncurses 是该库的 GPL 实现。)

关于c++ - 如何在不清除屏幕和重写所有内容的情况下输出到控制台并覆盖文本?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6019160/

相关文章:

c++ - 减少 c++ 链接时间的技巧

Linux - 将系统日期与文件中的日期进行比较并发送电子邮件给管理员

ios - Mac OS X 代码签名是否像 iOS 上的代码签名一样工作?

python - 安装 mysql-python 时遇到问题

c++ - MFC OnTimer 从其他地方接收额外的事件

c++ - 逐行读取文件并将其存储在 vector 中,对其进行处理

c++ - (没有)在数值表达式中使用时隐式转换?

linux - Kubernetes 节点无法在端口 80 和 443 上访问

python subprocess.call 参数问题

objective-c - 如何使用保存名称的字符串来访问常量