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;
}
Run Code Online (Sandbox Code Playgroud)
运行时,在循环开始之前输出"Test".
为什么在程序终止之前我的输出没有缓冲?