<分区>
Possible Duplicate:
fopen without fclose in C
为什么我需要在 C 中使用 fclose 函数?每次我在 c 中打开它时我都会关闭文件,仍然只是为了知识我想知道如果我不使用 fclose 函数会发生什么?如果有人因不使用 fclose 而遇到问题,请分享。
<分区>
Possible Duplicate:
fopen without fclose in C
为什么我需要在 C 中使用 fclose 函数?每次我在 c 中打开它时我都会关闭文件,仍然只是为了知识我想知道如果我不使用 fclose 函数会发生什么?如果有人因不使用 fclose 而遇到问题,请分享。
最佳答案
如果您不关闭一个文件,您将耗尽资源来获取更多文件。在 Linux 中,默认为每个进程打开 1024 个文件,这是因为“文件句柄”是表的索引(即索引数组)。我不知道它在 Windows 上是如何处理的,但如果你只是继续打开文件但不关闭它们,这个过程迟早会耗尽资源。
另一方面,如果您打开一个在程序的整个生命周期中都在使用的文件,那么就没有必要一直打开/关闭它。打开一次并保持打开状态。此外,退出进程时所有打开的文件都将关闭,因此如果您的程序只是对文件进行一些快速处理然后退出,您不必关闭它。但是,如果我正在审查代码,我仍然会添加一个注释,如果你分配了一个资源(内存、文件、其他东西)我认为你应该在完成后释放它,即使它是由系统自动完成的。
关于c - 使用 fclose 函数的原因,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12856753/