同僚!私はsystem()
関数と共に私のコードのsleep()
関数を使用しようとしました。コードは、最初のメッセージを表示してから、数秒後に1秒間待機するたびにカウントダウンします。その後、画面をクリアする必要があります。私は単純なテキストアニメーションを作りたいです。しかし、プログラムは期待どおりに動作しません!私は自分のコードをチェックして、構文や論理エラーがないように見えます。このコードをコンパイルして実行すると、まず5秒待ってから、待っていなくてもメッセージをstdoutに出力し、直ちに画面をクリアします。私はこれがランタイムエラーだと考えていますが、論理的には起こらないはずです。以下の情報が関係する場合は、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;
}