持有滚动条会冻结win32控制台应用程序

Try*_*yum 2 c c++ windows console

我写了这个小程序来说明我的问题:

int main(int argc, char* argv[])
{
   int i = 0;
   while(1)
   {
       std::cout << i++ << std::endl;
       Sleep(1000);
   }
    return 0;
}
Run Code Online (Sandbox Code Playgroud)

因此,如果您按住垂直滚动条(查看日志或其他内容......),这个简单的程序将停止计数.

有办法避免这种情况吗?

干杯

Com*_*sMS 9

并不是的.会发生什么是持有滚动条会阻止应用程序将任何新输出写入控制台,因此它最终会阻塞刷新std :: cout.这是由于Windows如何实现控制台而无法避免的.