C++ 了解输出流、缓冲和刷新

C++ 了解输出流、缓冲和刷新,c++,C++,为了输出,我们必须使用将流引导到cout对象中。终端不“偷看”输出,而是在给定数据时显示给定的内容 对于无缓冲的输出流,这基本上意味着实时。对于缓冲输出流,如流的和运算符,您的问题是什么?@程序员要纠正我的错误,现在我可以问一下,为什么在用cout输出到终端时,所有内容都会立即显示而不刷新?当使用ostream输出到文本文件或将cout输出管道化到文本文件时,除非刷新,否则不会显示任何内容。是否使用?它“将换行符插入输出序列os并刷新它…”例如:int num;流fd(“stream.txt”)

为了输出,我们必须使用将流引导到cout对象中。终端不“偷看”输出,而是在给定数据时显示给定的内容


对于无缓冲的输出流,这基本上意味着实时。对于缓冲输出流,如流的
运算符,您的问题是什么?@程序员要纠正我的错误,现在我可以问一下,为什么在用cout输出到终端时,所有内容都会立即显示而不刷新?当使用ostream输出到文本文件或将cout输出管道化到文本文件时,除非刷新,否则不会显示任何内容。是否使用?它“将换行符插入输出序列
os
并刷新它…”例如:
int num;流fd(“stream.txt”);fd>num;fd如果进程退出,输出将自动刷新。如果您在终止前进入
sleep(5)
,会怎么样?在联机测试仪和本地(macOS)终端上完成之前,我不会得到任何输出。终端从进程中获得输出的唯一方法是刷新缓冲区。没有其他机制。因此,要么正在刷新缓冲区,要么您没有创建可以检测未刷新缓冲区的条件。