cout
バッファされたストリームです。これは、データがバッファに書き込まれ、ストリームがフラッシュされたときに印刷される、プログラムが終了するか、バッファが完全に充填されたときことを意味します。なぜすぐに出力されますか?
私はこれがどのように機能するかをテストするための小さなプログラムを作ったが、それは上記のいずれかの条件が満たされても、前に印刷し、なぜ私は理解していません。
#include <iostream>
#include <ctime>
using namespace std;
int main()
{
cout << "Test";
float secs = 5;
clock_t delay = secs * CLOCKS_PER_SEC;
clock_t start = clock();
while (clock() - start < delay) { }
return 0;
}
実行すると、ループが開始する前に「テスト」が出力されます。プログラムが終了するまで
はなぜ私の出力がバッファリングされていませんか?
印刷する前に 'std :: ios :: sync_with_stdio(false);'を試してください。 – scohe001
std :: ios :: sync_with_stdio(false);ありがとう!しかし、なぜ? –
下記の私の答えを見てください – scohe001