我正在尝试创建一个控制台乒乓球游戏,但遇到了以下问题。 我有以下内容:
int main()
{
while(1)
{
clearScreen();
std::stringstream sstr;
for(int i = 0; i < 20; ++i)
{
sstr << "Mooooooo \n";
}
printf(sstr.str().c_str());
restThread(50);
}
return 0;
}
我期望的输出是 Moo 被写入 20 次并且屏幕内容永远不会真正改变。然而,它不时闪烁。我怀疑这是因为输出在完全绘制之前显示在屏幕上。有没有解决的办法?例如,在所有字符都绘制到屏幕上之前不向用户显示任何内容?
谢谢
最佳答案
有诅咒/ncurses库,它要求您在显示任何内容之前刷新屏幕。它在平台支持方面非常普遍。
关于c++ - 控制台(显示)中的双缓冲?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4754577/