FileEnumerate.cpp
上传用户:dzyhzl
上传日期:2019-04-29
资源大小:56270k
文件大小:1k
源码类别:

模拟服务器

开发平台:

C/C++

  1. #include "stdafx.h"
  2. #include <string.h>
  3. #include "FileEnumerate.h"
  4. void DirectorySearch(LPSTR lpszDir, FILE_PROCESS_CALLBACK fnCallBack)
  5. {
  6. HANDLE hFind;
  7. WIN32_FIND_DATA FindData;
  8. char szPath[512];
  9. char cc[512];
  10. strcpy(szPath, lpszDir);
  11. if(szPath[strlen(szPath)-1] != '\')
  12. strcat(szPath, "\");
  13. sprintf(cc, "%s*", szPath);
  14. hFind = FindFirstFile(cc, &FindData);
  15. do
  16. {
  17. if (strcmp(FindData.cFileName, ".") == 0 || strcmp(FindData.cFileName, "..") == 0)
  18. continue;
  19. sprintf(cc, "%s%s", szPath, FindData.cFileName);
  20. if (GetFileAttributes(cc) & FILE_ATTRIBUTE_DIRECTORY)
  21. {
  22. DirectorySearch(cc, fnCallBack);
  23. }
  24. else
  25. {
  26. sprintf(cc, "%s%s", szPath, FindData.cFileName);
  27. (*fnCallBack)(cc);
  28. }
  29. }while(FindNextFile(hFind, &FindData));
  30. FindClose(hFind);
  31. }