gpt4 book ai didi

c - 在 C 中强制退出时释放所有打开的文件和目录

转载 作者:太空狗 更新时间:2023-10-29 15:27:59 42 4
gpt4 key购买 nike

我想强制释放我的程序在执行期间打开的所有打开的文件和目录。我想这样做是因为我有一个非常大的程序,它会打开许多​​我无法跟踪的文件和目录。有什么办法吗?意味着我想检索所有打开的文件和目录的列表并在退出时关闭它们。

我知道使用 atexit() 函数注册退出处理程序。可以用它做点什么吗?

编辑:我在 Windows 上安装了 cygwin。我想做上面的事情,因为我的程序资源没有被自动释放。我有一个创建的目录,然后使用 opendir() 打开。我的程序完成后,当我尝试删除该目录时,它说“无法删除,正在被另一个程序使用”。但是当我终止 explorer.exe 并再次重新启动时,只有我能够删除该目录。

问题是它发生的不均匀。我可以删除一些目录,也可以删除一些目录。

最佳答案

如果“发布”是指“关闭”,那无论如何都会发生。 C 运行时和操作系统会为您处理这些事情。在进程终止时,进程打开的所有资源都将关闭。没有做到这一点的环境非常罕见(而且质量很差)。

关于c - 在 C 中强制退出时释放所有打开的文件和目录,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2264220/

42 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com