标准io函数库执行以下三类缓冲:
1) 完全缓冲:在缓冲区满,进程显示调用fflush,或进程调用exit终止自身(C库的exit函数调用标准I/O清理函数)。标准I/O缓冲区的大小通常为8192字节。
2) 行缓冲:意味着只在出现下列情况下才发生I/O:碰到一个换行符,进程调用fflush,或进程调用exit终止自身
3) 不缓冲:每次调用标准I/O输出函数都发生I/O
标准I/O函数库的大多数unix实现使用如下规则:
标准错误总是不缓冲
终端设备上的标准输入和标准输出行缓冲
除了标准输入和标准输出,其他I/O流完全缓冲