📄 12.2.4 fflush函数.txt
字号:
12.2.4 fflush函数
在一点需要注意,在程序中一旦调用了 fclose函数关闭文件之后,如果需要再次访问该文件时,就
需要重新打开该文件。如果程序对某个文件的访问次数比较多的话,显然这种做法就不是很方便。
如果希望每次对文件操作之后并不关闭它,但仍能将缓冲区中的数据立即写入磁盘文件中,这时可
以使用另一个 C函数 : fflush,这个函数的作用是将缓冲区中的数据写入到磁盘文件。因此,可以
将上述例 12-3所示代码中的 fclose函数调用替换为 fflush函数。读者可自行测试,将会发现程序
能够得到所需的结果。
我们知道,对于服务端软件来说,经常需要将各种信息写入日志中,如果使用 C语言的缓冲文件系
统,可能就会出现问题。例如在系统运行时突然掉电了,此时就有可能导致没有把缓冲区中的内容
写入日志中。如果这些日志信息是一些普通的信息,可能无所谓。但如果是一些告警之类的信息,
问题可能就比较大了。因此,当服务器从网络上接收到信息后,应立即写入日志中。但又不能关闭
文件,因为随时都可能要写入日志文件,如果每次写入时都要先打开,再写入并关闭文件,势必非
常麻烦,影响程序效率。这时就可以使用 ffl ush函数来刷新缓冲区中的数据,将它们写入磁盘文
件中。
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -