标准IO库缓冲区buffer

来源:互联网 发布:js图片旋转,收缩 编辑:程序博客网 时间:2024/06/05 19:01
缓冲是标准IO库提供的,目的是尽可能的减少read、write系统调用的次数。

标准IO库提供了三种类型的缓冲:
1.全缓冲:填满标准IO的缓冲区后才进行实际IO操作
2.行缓冲:当输入输出遇到换行符时,标准IO库执行IO操作。标准IO库用来收集每一行缓冲区的长度是固定的,所以只要填满了缓冲区,即使没有换行符,也执行IO操作
3.不带缓冲:标准出错流stderr不带缓冲

一般来说:
标准出错流不带缓冲
打开至终端设备的流是行缓冲,比如执行./a.out
否则为全缓冲,比如将结果输出到文件./a.out > tmp.out
1 0