c – 程序存在异常时,是否刷新fwrite()缓冲区中的数据?

fwrite()是一个调用,它首先将数据缓冲到用户空间缓冲区中,然后稍后调用write()系统调用来实际执行写操作.

If a program invokes fwrite() to write some data to a file but then exists abnormally,will the buffer of fwrite() be cleared flushed,or the buffered data will be left over in memory?

我正在考虑的操作系统是Linux.

解决方法

如果程序异常退出,则不会刷新任何缓冲的数据.操作系统只是说“哦,亲爱的,你把文件描述符打开了,我最好为你关闭”,当进程终止时;它不知道有一些随机数据存在于内存中,程序打算写入磁盘但没有.

相关文章

本程序的编译和运行环境如下(如果有运行方面的问题欢迎在评...
水了一学期的院选修,万万没想到期末考试还有比较硬核的编程...
补充一下,先前文章末尾给出的下载链接的完整代码含有部分C&...
思路如标题所说采用模N取余法,难点是这个除法过程如何实现。...
本篇博客有更新!!!更新后效果图如下: 文章末尾的完整代码...
刚开始学习模块化程序设计时,估计大家都被形参和实参搞迷糊...