将 C++ 用于跨平台控制台应用程序,有没有办法实现静态和动态变化的显示,而不是在先前输出下打印的输出?即对于一个简单的棋盘游戏,不是每回合都重新打印棋盘,而是更新单个输出。
编辑:AFAIK,unicode 不是完全必要的,我只使用出现在标准 EN-GB 键盘上的字符。
我会研究 NCURSES,尽管我想知道 C++ 标准中是否有一些东西可以帮助我实现这一目标。如果你愿意,可以称我为无知,但我只是想知道。
将 C++ 用于跨平台控制台应用程序,有没有办法实现静态和动态变化的显示,而不是在先前输出下打印的输出?即对于一个简单的棋盘游戏,不是每回合都重新打印棋盘,而是更新单个输出。
编辑:AFAIK,unicode 不是完全必要的,我只使用出现在标准 EN-GB 键盘上的字符。
我会研究 NCURSES,尽管我想知道 C++ 标准中是否有一些东西可以帮助我实现这一目标。如果你愿意,可以称我为无知,但我只是想知道。
我认为NCURSES是您正在寻找的。ConsoleUI 的终端包装器,它是跨平台的。它允许您写入虚拟屏幕缓冲区,并控制刷新的时间和方式。它对该缓冲区进行内部簿记,并且只会刷新更改的字符。诅咒是在连接速度很重要的时代设计的,因此终端刷新操作以智能方式完成。
SO 上有一个 ncurses 标签,所以你会在这里找到很多关于细节的信息。