您的位置:首页 > 其它

查找目录下所有文件及子目录

2012-02-22 11:46 211 查看
#include "windows.h"

void FindFilesInDir(TCHAR* rootDir)
{
WIN32_FIND_DATA fd;
ZeroMemory(&fd, sizeof(WIN32_FIND_DATA));

HANDLE hFile;
TCHAR tmpPath[256];
TCHAR subPath[256];
ZeroMemory(tmpPath, 256);
ZeroMemory(subPath, 256);

BOOL bRet = TRUE;
static int nFileSize = 0 ;

//define the format of the basepath
_stprintf(tmpPath,_T("%s"),rootDir);
if(tmpPath[_tcsclen(tmpPath) -1] != '\\')
{
_tcscat(tmpPath,_T("\\"));
}
_tcscat(tmpPath,_T("*"));

hFile = FindFirstFile(tmpPath, &fd);
while (hFile != INVALID_HANDLE_VALUE && bRet)
{
if (fd.dwFileAttributes == FILE_ATTRIBUTE_DIRECTORY &&
_tcscmp(fd.cFileName, _T(".")) && _tcscmp(fd.cFileName, _T("..")))
{
// 子目录操作
_stprintf(subPath,_T("%s"),rootDir);
if(subPath[_tcsclen(subPath) -1] != '\\')
{
_tcscat(subPath,_T("\\"));
}
_tcscat(subPath,fd.cFileName);
onFindFilesInDir(subPath);
}
else if(!_tcscmp(fd.cFileName, _T(".")) || ! _tcscmp(fd.cFileName, _T("..")))
{

}
else
{
// 对文件进行操作
// do...
}
bRet = FindNextFile(hFile, &fd);
}
FindClose(hFile);
}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: 
相关文章推荐