fclose()有什么意义?

Cas*_*ast 1 c fclose

从我读到的内容来看,fclose()基本上就像分配了内存时的free(),但我还读到操作系统会为你关闭该文件并冲掉它终止后打开的任何流.我甚至测试了一些没有fclose()的程序,它们似乎都运行良好.

Col*_*Two 6

长时间运行的进程(例如数据库或Web浏览器)可能需要在其生命周期内打开许多文件; 保持未使用的文件打开会浪费资源,并可能阻止其他进程使用这些文件.

此外,fclose刷新写入文件时经常使用的用户空间缓冲区以提高性能; 如果进程退出而没有刷新缓冲区(使用fflush/ fclose),则仍然在缓冲区中的数据将丢失.