【发布时间】:2026-01-17 07:50:01
【问题描述】:
同事们!我尝试在我的代码中使用sleep() 函数和system() 函数。该代码应该显示第一条消息,然后倒计时,每次打印出剩余的秒数并等待1秒。然后应该清除屏幕。我只想制作一个简单的文字动画。但是程序没有按预期工作!我检查了我的代码,看起来我没有语法或逻辑错误。当我编译并运行这段代码时,它首先等待五秒钟,然后甚至不等待就将消息打印到标准输出,并立即清除屏幕。我认为这是一个运行时错误,尽管它不应该在逻辑上发生。如果以下信息相关,我将从 Linux 终端编译并运行我的 C++ 程序。
#include <iostream>
#include <cstdlib> // includes system();
#include <unistd.h> // includes sleep();
using std::cout;
using std::cin;
using std::endl;
int main() {
cout << "Clearing the screen in: ";
for (int i = 5; i > 0; i--) {
cout << i << " ";
sleep(1); // takes seconds
}
system("clear");
return 0;
}
【问题讨论】:
标签: c++ runtime-error sleep