【发布时间】:2019-01-03 09:34:12
【问题描述】:
我有一个旨在仅在 Windows 上运行的控制台应用程序。它是用 C++ 编写的。有什么方法可以等待 60 秒(并在屏幕上显示剩余时间)然后继续代码流?
我尝试了互联网上的不同解决方案,但都没有奏效。它们要么不工作,要么不能正确显示时间。
【问题讨论】:
-
一个睡眠 1 秒 60 次的 for 循环?
-
您尝试过什么?请阅读the help pages,获取the SO tour,了解how to ask good questions,以及this question checklist。最后学习如何创建minimal reproducible example。
-
没错。但我需要在屏幕上显示剩余时间,我不知道该怎么做。我想不出只清除屏幕特定部分的方法。
-
用回车覆盖你之前写的怎么样?就像例如
std::cout << "\rTime remaining: " << std::setw(5) << counter << std::flush; -
如果您可以访问 C++11 编译器,则无需使用特定于 Windows 的代码。您可以将
sleep()函数替换为std::this_thread::sleep_for()。看看this page。