Possible Duplicate:
fopen without fclose in C
为什么我需要在C中使用fclose函数?每次用c打开文件时,我都会关闭它,但我还是想知道如果不使用fclose函数会发生什么?如果有人因不使用fclose而遇到问题,请分享。

最佳答案

如果不关闭文件,则将耗尽资源以获取更多文件。在Linux中,默认为每个进程1024个打开的文件,这是因为“文件句柄”是一个表中的索引(即索引数组)。我不知道在Windows上是如何处理的,但如果你只是继续打开文件而不关闭它们,这个过程迟早会耗尽资源。
另一方面,如果您打开一个在整个程序生命周期中使用的文件,则无需一直打开/关闭它。打开一次,让它保持打开。而且,所有打开的文件在退出进程时都会被关闭,所以如果你的程序只是对文件进行快速处理,然后退出,你就不必关闭它。但是,如果我正在检查代码,我仍然会添加一个关于它的注释,如果您分配了一个资源(内存、文件或其他东西),我认为您应该在完成时释放它,即使它是由系统自动完成的。

关于c - 使用fclose函数的原因,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/12856753/

10-11 20:43