MFC 如何删除目录下的所有文件
2015-06-12 10:08
288 查看
最经开发的时候要用到文件系统的一些函数,其中一个就是如何删除一个目录下的所有文件.
下面试代码,BOOL bRemoveDir 代表是否移除根目录,也就是传进去的目录,如果传进去的目录是移动磁盘的根目录,那么移除会失败,要设置为FASLE.
删除文件以及目录除了可以调用系统的快速格式化删除所有文件,
我这种就是递归的找到每个文件,然后删除文件,移除目录。
下面试代码,BOOL bRemoveDir 代表是否移除根目录,也就是传进去的目录,如果传进去的目录是移动磁盘的根目录,那么移除会失败,要设置为FASLE.
删除文件以及目录除了可以调用系统的快速格式化删除所有文件,
我这种就是递归的找到每个文件,然后删除文件,移除目录。
BOOL DeleteDirectory(CString DirName,BOOL bRemoveRootDir) { CFileFind tempFind; CString csZRootDir; csZRootDir.Format("%s\\*.*",DirName.GetBuffer(0)); BOOL IsFinded=(BOOL)tempFind.FindFile(csZRootDir.GetBuffer(0)); while(IsFinded) { IsFinded=(BOOL)tempFind.FindNextFile(); if(!tempFind.IsDots()) { CString csFileName; csFileName.Format("%s",tempFind.GetFileName().GetBuffer(0)); if(tempFind.IsDirectory()) { CString tmp; tmp.Format("%s\\%s",DirName.GetBuffer(0),csFileName.GetBuffer(0)); DeleteDirectory(tmp,TRUE); } else { CString tmp; tmp.Format("%s\\%s",DirName,csFileName.GetBuffer(0)); DeleteFile(tmp.GetBuffer(0)); } } } tempFind.Close(); if (bRemoveRootDir) { if(!RemoveDirectory(DirName)) { LogRecord(TRUE,_T("remove directory failed! %s \r\n"),DirName); return FALSE; } } return TRUE; }
相关文章推荐
- Visual C++中MFC消息的分类
- MFC中Radio Button的用法详解
- MFC创建右键弹出菜单的方法
- MFC中动态创建控件以及事件响应实现方法
- MFC程序对文件的处理方法
- MFC自定义消息的实现方法
- MFC之ComboBox控件用法实例教程
- MFC绘制不规则窗体的方法
- IE8引发 VS2005/2008 MFC向导出错的解决方案
- MFC实现全屏功能代码实例
- MFC程序设计常用技巧汇总
- MFC扩展DLL中导出类和对话框的实现方法
- VC中SDK与MFC的区别浅析
- VC MFC非模态对话框的实现方法
- MFC程序执行过程深入剖析
- C和MFC巧妙获取外网IP的两种实现方法
- MFC创建模态对话框和非模态对话框的方法
- MFC控件之CListCtrl的应用实例教程
- VS2010/MFC编程入门之前言
- VS2010/MFC编程入门之二(利用MFC向导生成单文档应用程序框架)