缓冲标准输出(STDOUT)

nit*_*ian 1 stdout buffering unbuffered

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

谢谢

j_r*_*ker 5

您没有提供语言,但假设您正在使用C的stdio函数(fopen()等)或使用这些函数的语言(出于可移植性原因,大多数情况下):

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

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