怎么用递归遍历根目录下多个或多层子目录中的文件,麻烦大侠指点下

如何用递归遍历根目录下多个或多层子目录中的文件,麻烦大侠指点下
我的根目录下有多个子目录,子目录中还有子目录,如何用递归的方法遍历这些目录中的文件出来,请大侠给指点下,谢谢!!!!

------解决方案--------------------
void browse(string strdir) //strdir, for directory, sample "F:\* "
{
WIN32_FIND_DATAA wfd;
HANDLE m_hFle = FindFirstFile(strdir.c_str(), &wfd);
strdir.resize(strdir.size() - 1);

DWORD errCod = 0;
if (INVALID_HANDLE_VALUE != m_hFle)
{
do
{
string str_fullName;
errCod = 0;

//directory dealed code
if (wfd.dwFileAttributes & FILE_ATTRIBUTE_DIRECTORY)
{
string tmp = wfd.cFileName;
if ((tmp != ". ") && (tmp != ".. "))
{
//your code here
str_fullName += "\\* ";
browse(str_fullName);
}
}
//file dealed code
else
{
//your code here
}
} while(FindNextFile(m_hFle, &wfd));
}

if (INVALID_HANDLE_VALUE != m_hFle)
{
FindClose(m_hFle);
}
}