c++ - 在 Win32 中删除子文件夹本身之前,如何从文件夹和子文件夹中删除文件?

标签 c++ windows winapi

在 Win32 API 中删除目录 (RemoveDirectory) 要求在删除文件夹之前删除该文件夹下的所有文件。因此,假设我在根目录下有一个文件夹“foo”,里面有文件,还有一些可能有或没有文件的子文件夹,我如何递归地删除所有文件,然后删除子文件夹?

最佳答案

它通常需要一个递归函数,读取您要删除的目录的内容(通过 FindFirstFile()/FindNextFile())——如果一个文件是遇到则删除,否则递归进入文件夹,递归返回时删除文件夹。

或者你可以只使用 IFileOperation系统将为您完成所有工作。

关于c++ - 在 Win32 中删除子文件夹本身之前,如何从文件夹和子文件夹中删除文件?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19303175/

相关文章:

c++ - 如何从 CPU 访问计算着色器的本地工作组的大小?

c++ - rand_r 不在范围内,gcc mingw 在 Windows 上的 cygwin 下

c++ - Dll 只能通过 LoadLibrary 正确加载吗?

c# - Windows API 在 WPF 中不起作用?

c# - timeBeginPeriod 不适用于 Intel Comet Lake CPU (i5 10400H)

c++ - 在 O(1) 空间和 O(n) 时间的数组中将相同类型的元素组合在一起

c++ - 为iOS生成AWS-SDK-CPP时在cmake上损坏的CXX编译器错误

c - 如何找出文件是否是目录(最佳方式)

c++ - 如何在 C++ 中重新建立 double

javascript - 如何在jrunscript或jjs中访问stdin(在win7上)