缓冲标准输出(STDOUT)

时间:2010-12-29 07:02:29

标签: stdout buffering unbuffered

默认情况下,STDOUT是否未缓冲?如果不是,那么默认缓冲的类型是什么

由于

2 个答案:

答案 0 :(得分:5)

你没有提供一种语言,但假设你正在使用C的stdio函数(fopen()等)或使用这些函数的语言(出于可移植性的原因,大多数都这样做):

它取决于底层的C运行时库。

大多数库会尝试检测STDOUT是否连接到终端,如果是,则避免缓冲,并执行块缓冲(例如,我的Linux系统一次缓冲8Kb),如果没有。

答案 1 :(得分:1)

简答:默认情况下,STDOUT通常是无缓冲的。如果这对您来说是个问题,则会fflush(stdout);很少需要