【发布时间】:2011-12-31 19:52:06
【问题描述】:
首先,我知道用 fopen() 打开一个文件而不关闭它是非常不负责任的,而且是糟糕的形式。这只是纯粹的好奇,所以请幽默:)
我知道如果一个 C 程序打开一堆文件并且从不关闭其中任何一个,最终 fopen() 将开始失败。是否有任何其他副作用可能导致代码本身之外的问题?例如,如果我有一个程序打开一个文件,然后在没有关闭它的情况下退出,这会对运行该程序的人造成问题吗?这样的程序会泄漏任何东西(内存、文件句柄)吗?程序完成后再次访问该文件是否会出现问题?如果程序连续运行多次会怎样?
【问题讨论】:
-
不需要所有的免责声明。在不调用
fclose的情况下退出并没有什么可怕的,至少不比使用goto更糟糕。这一切都取决于情况。