默认情况下,STDOUT是否未缓冲?如果不是,那么默认缓冲的类型是什么
由于
答案 0 :(得分:5)
你没有提供一种语言,但假设你正在使用C的stdio函数(fopen()
等)或使用这些函数的语言(出于可移植性的原因,大多数都这样做):
它取决于底层的C运行时库。
大多数库会尝试检测STDOUT是否连接到终端,如果是,则避免缓冲,并执行块缓冲(例如,我的Linux系统一次缓冲8Kb),如果没有。
答案 1 :(得分:1)
简答:默认情况下,STDOUT通常是无缓冲的。如果这对您来说是个问题,则会fflush(stdout);
但很少需要