同事!我試圖在我的代碼中使用sleep()
函數以及system()
函數。代碼應該顯示第一條消息,然後倒計時,每次打印剩餘秒數並等待1秒。然後屏幕應該被清除。我想製作一個簡單的文字動畫。但該程序無法按預期工作!我檢查了我的代碼,它看起來像我沒有語法或邏輯錯誤。當我編譯並運行此代碼時,首先等待五秒鐘,然後將消息打印到標準輸出甚至不等待,然後立即清除屏幕。我認爲這是一個運行時錯誤,儘管它不應該在邏輯上發生。如果以下信息相關,我將從Linux終端編譯並運行我的C++程序。C++ sleep()函數沒有按預期工作
#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;
}