Gal*_*axy 2 c++ sleep runtime-error
同事!我试着sleep()在我的代码中使用函数和system()函数.代码应该显示第一条消息,然后倒计时,每次打印剩余的秒数并等待1秒.然后应该清除屏幕.我想制作一个简单的文本动画.但该程序没有按预期工作!我检查了我的代码,看起来我没有语法或逻辑错误.当我编译并运行此代码时,首先它会等待五秒钟,然后在没有等待的情况下将消息打印到stdout,并立即清除屏幕.我认为这是一个运行时错误,虽然它不应该在逻辑上发生.如果以下信息相关,我从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;
}
Run Code Online (Sandbox Code Playgroud)
输出通常是缓冲的,并且在缓冲区已满或文件关闭之前不会出现.你需要flush输出.
cout << i << " " << std::flush;
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
467 次 |
| 最近记录: |