标准IO库缓冲区buffer

缓冲是标准IO库提供的,目的是尽可能的减少read、write系统调用的次数。


标准IO库提供了三种类型的缓冲:

1.全缓冲:填满标准IO的缓冲区后才进行实际IO操作

2.行缓冲:当输入输出遇到换行符时,标准IO库执行IO操作。标准IO库用来收集每一行缓冲区的长度是固定的,所以只要填满了缓冲区,即使没有换行符,也执行IO操作

3.不带缓冲:标准出错流stderr不带缓冲


一般来说:

标准出错流不带缓冲

打开至终端设备的流是行缓冲,比如执行./a.out

否则为全缓冲,比如将结果输出到文件./a.out > tmp.out

你可能感兴趣的:(buffer,缓冲区)