fwrite()
是一个库调用,首先将数据缓冲到用户空间缓冲区中,然后稍后调用write()
系统调用以实际执行写操作。
如果程序调用
fwrite()
将一些数据写入文件,但随后异常存在,fwrite()
的缓冲区是否会清除 flushed flushed,或将缓冲数据留在存储器中?
我正在考虑的操作系统是Linux。
如果您的程序异常退出,则任何缓冲数据都不会被冲洗。操作系统只是说:"哦,亲爱的,您让文件描述符打开,当过程终止时,我最好为您关闭。它不知道该程序打算写入磁盘但没有。