用CFileFind类很简单:
调用: FindFile("C:\\");void FindFile(LPCTSTR pszRoot)
{
CFileFind finder;
BOOL bWorking = finder.FindFile(pszRoot+"*.*");
while (bWorking)
{
if( finder.IsDirectory() )
{
if(!finder.IsDots())
{
// 如果需要处理子目录
FindFile(finder.GetFilePath()+"\\");
}
}
else
{
// 找到了文件 对文件进行操作
.........................
.........................
}
bWorking = finder.FindNextFile();
}
return ;
}
调用: FindFile("C:\\");void FindFile(LPCTSTR pszRoot)
{
CFileFind finder;
BOOL bWorking = finder.FindFile(pszRoot+"*.*");
while (bWorking)
{
if( finder.IsDirectory() )
{
if(!finder.IsDots())
{
// 如果需要处理子目录
FindFile(finder.GetFilePath()+"\\");
}
}
else
{
// 找到了文件 对文件进行操作
.........................
.........................
}
bWorking = finder.FindNextFile();
}
return ;
}
CListBox::Dir
int Dir( UINT attr, LPCTSTR lpszWildCard );
如果喜欢MFC,用CFileFind
如果喜欢SDK,用FindFirstFile,FindNextFile
如果喜欢玩玩各类Interface,可以用IShellFolder的EnumObjects