MFC 递归删除文件夹下所有文件或文件夹

 

废话不说,直接上代码:


void CFileOrDirectoryOP::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);
		}
	}
}

 

然后直接调入递归方法,binggo,完事。

void CFileOrDirectoryOP::DeleteFold(CString szPath)
{
	RecursiveDelete(szPath);
	//最终目录被清空了,于是删除该目录
	if (RemoveDirectory((LPCTSTR)szPath))
	{
		AfxMessageBox("删除成功!");
	}
}

 

  • 3
    点赞
  • 10
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值