可控制遍历深度的文件搜索类
view plaincopyprint?//---------------------------------------------------------------------------#ifndef SearchFilesUnitH#define SearchFilesUnitH//---------------------------------------------------------------------------#include <windows.h>#include <stdio.h>typedef void(__stdcall *PSEARCHCALLBACK)(LPCTSTR);typedef void(__stdcall *PDIRCOMPLETEDCALLBACK)(LPCTSTR);class CSearchFile{public:// 无深度初始化构造函数,此时扫描深度不受限制CSearchFile(){m_depthLevel = -1;}// 扫描深度初始化构造函数CSearchFile(int depthLevel){m_depthLevel = depthLevel;}private:int m_depthLevel;private:BOOL DirectoryExist(LPCTSTR lpszDir){DWORD dwAttribute = ::GetFileAttributes(lpszDir);if (dwAttribute != 0xFFFFFFFF){return ((dwAttribute & FILE_ATTRIBUTE_DIRECTORY) == FILE_ATTRIBUTE_DIRECTORY);}return FALSE;}public:BOOL SearchFile(LPCTSTR root /* 搜索文件的根目录 */, PSEARCHCALLBACK pFoundCallback /* 文件搜到后的 Callback在此Callback中可以实现文件类型的过滤,文件删除,复制等等与文件相关的操作*/, PDIRCOMPLETEDCALLBACK pDirCompletedCallback /* 完成一个子目录后的 Callback在此Callback中可以配合上个Callback的文件删除功能,删除文件夹*/, int depthLevel = 0);};#endif.cpp 文件[cpp]view plaincopyprint?//---------------------------------------------------------------------------#include "SearchFilesUnit.h"//---------------------------------------------------------------------------BOOL CSearchFile::SearchFile(LPCTSTR root /* 搜索文件的根目录 */, PSEARCHCALLBACK pFoundCallback /* 文件搜到后的 Callback在此Callback中可以实现文件类型的过滤,文件删除,复制等等与文件相关的操作*/, PDIRCOMPLETEDCALLBACK pDirCompletedCallback /* 完成一个子目录后的 Callback在此Callback中可以配合上个Callback的文件删除功能,删除文件夹*/, int depthLevel){char szPath[MAX_PATH] = {0};WIN32_FIND_DATA stWFD; 补充:软件开发 , C语言 ,
上一个:C语言对象化编程
下一个:C 语言日期时间处理
- 更多C/C++疑问解答:
- 关于c++的cout输出的问题。
- 在学校里学过C和C++,不过学的很一般,现在自学C#,会不会很难?
- 全国计算机二级C语言笔试题
- 已知某树有2个2度结点,3个3度结点,4个4度结点,问有几个叶子结点?
- c++数据结构内部排序问题,整数排序
- 2012九月计算机二级C语言全国题库,,急求急求
- 如果assert只有一个字符串作为参数,是什么意思呢?
- C语言中,哪些运算符具有左结合性,哪些具有右结合性,帮忙总结下,谢谢了!
- 为什么用结构体编写的程序输入是,0输不出来啊~~~
- 将IEEE—754的十六进制转化为十进制浮点类型,用C或C++都行,多谢各位大侠啊,非常感谢!
- 为什么这个程序求不出公式?
- 这个链表倒置的算法请大家分析下
- c语言函数库调用
- C语言unsigned int纠错
- C语言快排求解啊