- // 遍历文件夹下面所有文件
- // $_FUNCTION_BEGIN ******************************
- // 函数名称: SearchDirectory
- // 函数参数:
- // 返 回 值:
- // 函数说明: 遍历文件夹下面所有文件, 并对文件进行指定的操作
- // $_FUNCTION_END ********************************
- typedef void ( * _FUN )(char *aszFileName) ;
- SearchDirectory(char * lpPath, _FUN aFun)
- {
- char szFind[MAX_PATH]="";
- WIN32_FIND_DATA FindFileData;
- char szFile[MAX_PATH]="";
- char szCurrentDir[MAX_PATH]="";
- char szCurrentFileName[MAX_PATH]="";
- //保存当前查找的目录
- strcpy(szCurrentDir, lpPath);
- strcpy(szFind,lpPath);
- strcat(szFind,"//*.*");
- HANDLE hFind=::FindFirstFile(szFind,&FindFileData);
- if(INVALID_HANDLE_VALUE == hFind) return;
- while(TRUE)
- {
- if(FindFileData.dwFileAttributes & FILE_ATTRIBUTE_DIRECTORY)
- {
- if(FindFileData.cFileName[0]!='.')
- {
- //找到目录, 继续向下遍历
- strcpy(szFile,lpPath);
- strcat(szFile,"//");
- strcat(szFile,FindFileData.cFileName);
- SearchDirectory(szFile, aFun);
- }
- }
- else
- {
- strcat(szCurrentFileName, szCurrentDir);
- strcat(szCurrentFileName,"//");
- strcat(szCurrentFileName, FindFileData.cFileName);
- cout << szCurrentFileName;
- if (aFun!=NULL)
- aFun(szCurrentFileName);
- szCurrentFileName[0]=0x00;
- }
- if(!FindNextFile(hFind,&FindFileData)) break;
- }
- FindClose(hFind);
- }
遍历文件夹下面所有文件
最新推荐文章于 2023-05-13 23:11:35 发布