在清空文件夹时,调用了RemoveDirectory,在调用前已经删除了文件夹中所有文件,但就是不能成功调用。分析来分析去,其实原因很简单,但也很具有欺骗性。
其实是在调用FindFirstFile和FindNextFile这套函数组合后,没有执行FindClose。本质原因就是要删除的文件夹仍然处于被访问状态,不能被删除。当然还一点就是要保证被删除的文件夹为空。
如果要删除多层文件夹,那只好使用递归了。
在清空文件夹时,调用了RemoveDirectory,在调用前已经删除了文件夹中所有文件,但就是不能成功调用。分析来分析去,其实原因很简单,但也很具有欺骗性。
其实是在调用FindFirstFile和FindNextFile这套函数组合后,没有执行FindClose。本质原因就是要删除的文件夹仍然处于被访问状态,不能被删除。当然还一点就是要保证被删除的文件夹为空。
如果要删除多层文件夹,那只好使用递归了。