退出程序时,这些FILE*
对象如何关闭和释放?
答案 0 :(得分:5)
它们由自动链接到程序的C运行时代码关闭 - 调用main()函数的代码也会在main()返回后调用exit()。
答案 1 :(得分:4)
来自C99§7.20.4.3/ 3:
接下来,所有带有未写入缓冲数据的开放流都会被删除,全部 开放流已关闭,以及由tmpfile函数创建的所有文件 被删除。
POSIX(与C99一致)更好地说明了这一点:
exit()函数然后应该用未写入的方式刷新所有打开的流 缓冲数据并关闭所有打开的流。