如何在Win32中删除子文件夹之前从文件夹和子文件夹中删除文件?

Fre*_*hly 2 c++ windows winapi

删除Win32 API(RemoveDirectory)中的目录需要删除该文件夹下的所有文件,然后才能删除该文件夹.所以假设我在根目录下有一个'foo'文件夹,里面有文件,还有一些子文件夹也可能有或没有文件,我如何递归删除所有文件,然后删除子文件夹?

Jon*_*ter 7

它通常需要一个递归函数,它读取你要删除的目录的内容(通过FindFirstFile()/ FindNextFile()) - 如果遇到文件,删除它,否则递归到文件夹,然后在递归返回时删除文件夹.

或者您可以使用IFileOperation,系统将为您完成所有工作.