鄙人学习笔记
文章目录
- 刷新缓冲区
- 举个例子1(行缓冲)
- 举个例子2(只有把系统默认缓冲区大小写满,才会自动刷新)
- 举个例子3(flush()刷新缓冲区)
刷新缓冲区
- 缓冲区刷新函数
flush()
该函数被调用后,会进行一次磁盘交互,将缓冲区中的内容写入到磁盘。
我们用下面的个例子,具体学习一下行缓冲和缓冲区函数的用法及作用。
举个例子1(行缓冲)
输入以下代码:

在控制台输入:
我们看一下,我们写入的文件test:
你没看错!是空的~
现在我们更改一下代码:
在控制台输入:
我们再看一下,我们写入的文件test:
以上结果论证了我们的理论:行缓冲在遇到换行符时,才会与磁盘进行交互。即在行缓冲模式下,数据从缓冲区写入磁盘的条件是:遇到换行符。
举个例子2(只有把系统默认缓冲区大小写满,才会自动刷新)
输入以下代码:
在控制台输入:
看一下文件test:
空的~~因为就这么几个字节,是不会把系统默认缓冲区写满的,我们退出循环,close一下文件对象,刷新一下缓冲区:
看一下文件test:
有数据啦~
那么有没有不用关闭文件,就可以立即刷新缓冲区的方法呢?有的呢,用flush函数就可以了!请看下面的例子。
举个例子3(flush()刷新缓冲区)
输入以下代码:
在控制台输入: