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

前端之家收集整理的这篇文章主要介绍了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&C++相关文章