平时要用到枚举系统硬盘上的文件的机会比较多,每次几乎都会重复那一些步骤,而且要枚举不同的文件类型也是相当的不方便, 于是简单的封装了一个文件查找类,暂不支持多线程,不过回调函数的使用相当的方便与简洁
封装的代码 稍后上传csdn资源
使用这个类的示例如下: 首先包含类头文件 LxFileFinder.h 其他步骤请看下
/*
* by beyondcode
*/
#include "LxFileFinder.h"
#include <stdio.h>
VOID CALLBACK FindFile( LPCTSTR lpPathName, LPCTSTR lpFileName );
VOID CALLBACK FindDirect( LPCTSTR lpPathName, LPCTSTR lpFileName );
int _tmain()
{
CLxFileFinder finder;
if( !finder.AddFileExt( _T(".rmvb") ) ) { printf( " Add Ext Error/n" ); return 0; } //添加需要查找的后缀名
if( !finder.SetDirect2( _T("E://") ) ) { printf( " Set Directory Error/n" ); return 0; } //设置查找的起始目录
//设置回调函数
finder.SetFindFileCallBack( FindFile );
finder.SetFindDirectoryCallBack( FindDirect );
//开始枚举目录结构
if( !finder.EnumeFile2() )
{
printf( "EnumeFile Error/n" );
return 0;
}
return 0;
}
VOID CALLBACK FindFile( LPCTSTR lpPathName, LPCTSTR lpFileName )
{
printf( "找到文件: %s/n", lpPathName );
}
VOID CALLBACK FindDirect( LPCTSTR lpPathName, LPCTSTR lpFileName )
{
printf( "找到目录: %s/n", lpPathName );
}