繁体   English   中英

控制台中的双缓冲(显示)?

[英]Double buffering in the console (display)?

我正在尝试创建一个控制台乒乓游戏,但遇到了以下问题。 我有以下内容:

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次并且屏幕的内容从不实际更改。 但是,它会不时闪烁。 我怀疑这是因为输出在完全绘制之前已显示在屏幕上。 有没有解决的办法? 例如,在所有字符都绘制到屏幕上之前不向用户显示任何内容?

谢谢

这里有curses / ncurses库,要求您在显示任何内容之前刷新屏幕。 就平台支持而言,它无处不在。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM