MFC递归搜索文件函数代码
来源:互联网 发布:java 定义枚举常量 编辑:程序博客网 时间:2024/06/11 05:21
自己写了一个MFC下的搜索文件的函数,递归遍历各级子目录搜索,对大小写不敏感。递归是个好东西啊,用递归写出来的东西往往代码简短,但不容易理解,并且容易出错,要多加注意。此函数毕竟只是个代码不足30行的小东西。目前存在缺点:不支持通配符*?等。后续将改进。
调用示例:
CStringArray aStrFile;
int i = CFindFile(_T("D:\\"),_T("qq.txt"),&aStrFile);
函数代码:
//第一个参数为要搜索的路径,比如"c:\\dir\\"或"c:\\dir"则在包括此目录的所有子目录下搜索//第二个参数为要搜索的文件,比如"qq.txt",需要提供文件后缀,大小写不敏感//第三个参数用于保存搜索到的文件的全路径,请构造一个CStringArray对象并传入地址INT CFindFile(const TCHAR *szPath,const TCHAR *szFileName,CStringArray *paStrResult){ASSERT(paStrResult!=NULL);CString StrPath(szPath);CStringStrFileName(szFileName);//检查路径字符串的最后一个字符是不是'\',不是则加上if (StrPath[StrPath.GetLength()-1]!=_T('\\'))StrPath += _T('\\');CString StrFindPath = StrPath + _T("*.*");//开始查找CFileFind finder;BOOL bWorking = finder.FindFile(StrFindPath);while(bWorking){bWorking = finder.FindNextFile();//如果找到的是文件夹,递归进去if (finder.IsDirectory()&&!finder.IsDots()){CFindFile(StrPath+finder.GetFileName(),StrFileName,paStrResult);}//如果找到了文件,将绝对路径添加进字符串数组,大小写不敏感if (finder.GetFileName().CompareNoCase(StrFileName)==0){paStrResult->Add(finder.GetFilePath());}}//返回找到的文件个数INT nFile = paStrResult->GetSize();return nFile;}
- MFC递归搜索文件函数代码
- 递归方式搜索文件
- 递归搜索文件
- 递归搜索MP3文件
- MFC搜索文件
- 【CBM666 的递归文件搜索】
- 递归搜索所有文件目录
- c++ 递归搜索子文件
- MFC相关函数代码
- C#文件搜索代码
- 函数,递归,头文件
- 函数(递归,记忆化搜索)
- 递归的函数 记忆化搜索
- 通过递归来实现搜索文件
- 递归搜索指定类型的文件
- 运用递归算法实现文件搜索
- 基于 Python 的文件递归搜索
- DELPHI 递归遍历文件代码
- 浅析Linux 5 种关机命令
- uboot链接分析
- <aop:pointcut expression="execution(* com.tfy.aop.exception.ClassesServiceImpl.*(..))" id="perform"
- phpmailer的使用
- JAVA 复制文件
- MFC递归搜索文件函数代码
- 使用CCLayer::onExit()禁用特定layer层的按钮响应事件
- Android帧缓冲区(Frame Buffer)硬件抽象层
- Fedora18 安装后风扇不停的转
- [Leetcode] Binary Tree Inorder Traversal
- Android学习笔记---15_采用Pull解析器解析和生成XML内容
- MAVEN学习
- 来实现双击和单击的操作的区别
- VC6.0工程文件清理