标签:
1 //遍历文件夹函数 2 void TraverseFolder(LPCTSTR lpPath) 3 { 4 TCHAR szFind[MAX_PATH] = {_T("\0")}; 5 WIN32_FIND_DATA findFileData; 6 BOOL bRet; 7 8 _tcscpy_s(szFind, MAX_PATH, lpPath); 9 _tcscat_s(szFind, _T("\\*.*")); //这里一定要指明通配符,不然不会读取所有文件和目录 10 11 HANDLE hFind = ::FindFirstFile(szFind, &findFileData); 12 if (INVALID_HANDLE_VALUE == hFind) 13 { 14 return; 15 } 16 17 //遍历文件夹 18 while (TRUE) 19 { 20 if (findFileData.cFileName[0] != _T(‘.‘)) 21 {//不是当前路径或者父目录的快捷方式 22 _tprintf(_T("%s\\%s\n"), lpPath, findFileData.cFileName); 23 if (findFileData.dwFileAttributes & FILE_ATTRIBUTE_DIRECTORY) 24 {//这是一个普通目录 25 //设置下一个将要扫描的文件夹路径 26 _tcscpy_s(szFind, MAX_PATH, lpPath); 27 _tcscat_s(szFind, _T("\\")); 28 _tcscat_s(szFind, findFileData.cFileName); 29 ///_tcscat_s(szNextDir, _T("\\*")); 30 //遍历该目录 31 TraverseFolder(szFind); 32 } 33 } 34 //如果是当前路径或者父目录的快捷方式,或者是普通目录,则寻找下一个目录或者文件 35 bRet = ::FindNextFile(hFind, &findFileData); 36 if (!bRet) 37 {//函数调用失败 38 //cout << "FindNextFile failed, error code: " 39 // << GetLastError() << endl; 40 break; 41 } 42 } 43 44 ::FindClose(hFind); 45 }
转载:http://www.cnblogs.com/chenkunyun/archive/2012/03/24/2415727.html
使用FindFirstFile,FindNextFile遍历一个文件夹
标签:
原文地址:http://www.cnblogs.com/chechen/p/5432220.html