This question already has answers here:
Closed 3 years ago.
What happens if I don't call fclose() in a C program?
(4个答案)
从我读到的内容来看,fclose()基本上与分配内存时的free()类似,但我也读到操作系统将为您关闭该文件,并清除它终止后打开的所有流我甚至测试了一些没有fclose()的程序,它们看起来都工作得很好。
(4个答案)
从我读到的内容来看,fclose()基本上与分配内存时的free()类似,但我也读到操作系统将为您关闭该文件,并清除它终止后打开的所有流我甚至测试了一些没有fclose()的程序,它们看起来都工作得很好。
最佳答案
一个长时间运行的进程(例如数据库或web浏览器)可能需要在其生命周期中打开许多文件;保持未使用的文件处于打开状态会浪费资源,并可能会阻止其他进程使用这些文件。
此外,fclose
刷新写入文件时经常使用的用户空间缓冲区,以提高性能;如果进程退出而不刷新该缓冲区(使用fflush
/fclose
),则缓冲区中的数据将丢失。
关于c - fclose()有什么意义? ,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/33599177/
10-12 19:55