前置博客 基础IO
为什么有缓冲因为磁盘的读写与内存的读写操作速度相比,磁盘的读写是相差数量级的慢,所以为了提高内存多次,频繁读写磁盘文件的效率,缓冲区被投入使用。尤其是内存内容写入磁盘时,常常先写入内存级缓冲区,再在特定规则下一次性将缓冲区的内容写入磁盘
**本文以C语言提供的用户级缓冲区为例介绍缓冲区
缓冲区的刷新规则首先当一个进程正常退出时,会先刷新缓冲区再关闭文件,此时必定有一次刷新
而当进程运行时缓冲区的刷新策略主要有以下三种
无缓冲 内容直接写入文件
行缓冲 输入一般内容不刷新,遇到\n时刷新一次缓冲区
全缓冲 缓冲区有容量限制,满了之后就刷新
认识一下C语言的缓冲区这里的系统环境是Linux
刷新规则运行如下代码
12345678910111213#include <stdio.h>#include <unistd.h>int main(){ FILE* pfile = fopen("file.txt","w");//打开空文件 fprintf(stdout,"stdout ...