//删除指定文件及文件夹
void CdelfileDlg::RecursiveDelete(CString szPath)
{
CFileFind filefind;
CString path = szPath;
if(path.Right(1) != "\\")//目录的最右边需要“\”字符
path += "\\";
path += "*.*";
BOOL res = filefind.FindFile(path);
while(res)
{
res = filefind.FindNextFile();
//是文件时直接删除
if (!filefind.IsDots() && !filefind.IsDirectory())
DeleteFile(filefind.GetFilePath());//删除文件
else if (filefind.IsDots())
continue;
else if (filefind.IsDirectory())//为目录
{
path = filefind.GetFilePath();
//是目录时继续递归,删除该目录下的文件
RecursiveDelete(path);
//目录为空后删除目录
RemoveDirectory((LPCTSTR)path);
}
}
}vc 遍历文件夹,删除文件及文件夹!
最新推荐文章于 2025-08-25 07:30:27 发布
本文介绍了一种用于删除指定路径下所有文件和子目录的递归算法,包括如何查找文件、判断是否为文件或目录,并对目录进行递归删除直至目录为空后再删除目录本身。
1030

被折叠的 条评论
为什么被折叠?



