最近写一个程序,每次运行程序都要生成一些文件,而再次运行时又要手动删除这些文件,要删除的文件夹有两个,主要是删除这两个文件夹下生成所有文件,首先是考虑将删除部分放在程序的主窗口程序中,当我们关闭主窗口程序时,会执行编写的closeEvent函数,删除文件部分就写在该函数下,刚开始运行的时候删除文件只能删除一部分文件,两个文件夹中都有几个dat文件删除不了,试了很多方法都删除不了,最后仔细检查发现,有几个文件是属于一个类对象a的,即在a对象中建立的,而其他的文件是属于在a中定义的b对象的,即在b中建立的这些文件,而在删除函数之前这些对象都没有调用析构函数,可能某些函数占用了这些文件导致无法删除?在删除函数之前显示调用对象a的析构函数,再进行删除就可以了。
QDir d("path");