WIN32_FIND_DATA文件结构说明:
} WIN32_FIND_DATA, *PWIN32_FIND_DATA;
// 使用此结构体遍历文件的伪代码过程类似于下面
void Enum(char* szPath)
{
WIN32_FIND_DATA wfda;
HANDLE hFind=::FindFirstFileA(szFind,&wfda);
if(INVALID_HANDLE_VALUE==hFind)
{
return FALSE;
}
while(true)
{
// 是目录
if(wfda.dwFileAttributes & FILE_ATTRIBUTE_DIRECTORY)
{
//不是 . ..目录
if(wfda.cFileName[0] != '.')
{
Enum(); //递归
}
}
else
{
//是文件,添加自己的处理
}
//找不到文件了,跳出去
if(!FindNextFileA())
{
break;
}
}
FindClose(hFind);
return TRUE;
}
另外结构体最后一个cAlternateFileName变量是短文件名(类似于C:\PROGRA~1),
如果要转换成长文件名使用GetLongPathName
如果要将长文件名换成短文件名使用GetShortPathName