工控编程吧
标题: 上位机MFC如何删除目录 [打印本页]
作者: qq263946146 时间: 2019-8-2 15:28
标题: 上位机MFC如何删除目录
目录 的删除可以直接用函数RemoveDirectory实现。传递一个目录名就好。
但如果文件夹内为为文件,则会删除失败。
我们就必须将文件夹内文件删除,保证文件夹为空才能正常删除。
我们可以用按钮控件调用下面函数
- void CDemoDlg::OnDeleteDir()
- {
- CString strDirectory = _T("C:\\Demo");
- if (DeleteTree(strDirectory))
- {
- AfxMessageBox(_T("删除目录成功。"));
- }
- else
- {
- AfxMessageBox(_T("删除目录失败。"));
- }
- }
复制代码 DeleteTree为我们自己编写 的代码,实现带文件的文件夹删除功能。
- BOOL CDemoDlg::DeleteTree(CString strDirectory)
- {
- CString strWildcard = strDirectory;
- strWildcard += _T("\\*.*");
- CFileFind finder;
- BOOL bFind = FALSE;
- //查找文件
- bFind = finder.FindFile(strWildcard);
- while (bFind)
- {
- //查找下一个文件
- bFind = finder.FindNextFile();
- if (finder.IsDots())
- {
- continue;
- }
- //找到文件的路径
- CString strPathName = finder.GetFilePath();
- //获得找到文件的名称
- if (finder.IsDirectory())
- {
- //递归删除目录
- if (!DeleteTree(strPathName))
- {
- return FALSE;
- }
- }
- else
- {
- if (!::DeleteFile(strPathName))
- {
- return FALSE;
- }
- }
- }
- //结束查找
- finder.Close();
- //删除空目录
- if (!::RemoveDirectory(strDirectory))
- {
- return FALSE;
- }
- return TRUE;
- }
复制代码 这进而准备了个例程,可以下载参考学习:
(, 下载次数: 0)