fork缓冲

来源:互联网 发布:淘宝贷买家可以贷款吗 编辑:程序博客网 时间:2024/05/22 02:06

1.磁盘文件是全缓冲(fully buffered),程序调用fprintf时,实际上没有把消息写入磁盘,而是将这些字节写人如FILE结构的一个缓冲区中,可用fflush调用强制写出缓冲的内容,或是使用setvbuf来设置缓冲区大小。

2.与终端有关的标准输出是行缓冲(line buffered)的。

3.标准错误(strerror)默认情况下是不缓冲的。

4.Unix下的设备有块设备和“字符设备”的概念,所谓块设备,就是以一块一块的数据存取的设备,字符设备是一次存取一个字符的设备。磁盘、内存都是块设备,字符设备如键盘和串口。块设备一般都有缓存,而字符设备一般都没有缓存

5.程序遇到“\n”,或是EOF,或是缓中区满,或是文件描述符关闭,或是主动flush,或是程序退出,就会把数据刷出缓冲区。

6.清除缓冲——fflush(stdout);