如何更少地接管控制台?

时间:2011-01-24 19:53:16

标签: c++ console terminal printf cout

我想以更少的方式接管控制台,以制作更具互动性的应用。看起来他们可以完全控制在哪里绘制。我怎么能这样做?

4 个答案:

答案 0 :(得分:5)

它使用ncurses库来处理终端。

答案 1 :(得分:1)

主要是less和其他全屏终端应用程序使用备用屏幕模式;另外称为DEC模式1049. terminfo存储在

中进入/退出此模式所需的字符串
enter_ca_mode=\E[?1049h
exit_ca_mode=\E[?1049l

进入备用屏幕模式后,您可以通过常用的转义序列完全控制屏幕,在大多数终端上绘制一个完全独立的“缓冲区”,使常规缓冲区(例如可能包含bash scrollback)不受影响。当您再次退出备用屏幕模式时,它将恢复先前的内容和光标状态。

答案 2 :(得分:0)

在系统文档中查找“curses”。

答案 3 :(得分:0)

ANSI转义码可能是一个开始的地方。 http://en.wikipedia.org/wiki/ANSI_escape_code