• 查找文件夹中指定的文件


    vector<CString> vecStr;

    VOID GetFolderIncldFile(CString strFolder, CString strFile)
    {
     TCHAR szFind[MAX_PATH]; // 要找的文件类型
     TCHAR szFindAll[MAX_PATH]; // 找所有文件
     TCHAR szFliePath[MAX_PATH]; // 找到的文件
     WIN32_FIND_DATA FindFileData;
     strcpy(szFind,strFolder.GetBuffer(0));
     strcat(szFind,"\");
     strcat(szFind,strFile);

     strcpy(szFindAll,strFolder.GetBuffer(0));
     strcat(szFindAll, "\*.*");

     strcpy(szFliePath,strFolder.GetBuffer(0));
     strcat(szFliePath, "\");

     // 1、找文件 2、找目录 3、对目录重复步骤1、2
     // 找指定的文件
     HANDLE hFind=::FindFirstFile(szFind,&FindFileData);
     if(INVALID_HANDLE_VALUE != hFind)
     {
      while (TRUE)
      {
       if(!(FindFileData.dwFileAttributes &FILE_ATTRIBUTE_DIRECTORY)) // 非目录才进去
       {
        TCHAR szTmp[MAX_PATH];
        strcpy(szTmp, szFliePath);
        strcat(szTmp, FindFileData.cFileName);
        vecStr.push_back(szTmp);
       }
       if(!FindNextFile(hFind,&FindFileData)) break;
      }

      FindClose(hFind);
     }

     // 找所有文件,查找其中的目录
     hFind = ::FindFirstFile(szFindAll,&FindFileData);
     if(INVALID_HANDLE_VALUE != hFind)
     {
      while(TRUE)
      {
       if(FindFileData.dwFileAttributes &FILE_ATTRIBUTE_DIRECTORY) // 是目录才进去
       {
        if('.' != FindFileData.cFileName[0])
        {
         strcpy(szFind,strFolder.GetBuffer(0));
         strcat(szFind,"\");
         strcat(szFind,FindFileData.cFileName);
         GetFolderIncldFile(szFind, strFile);
        }
       }
       if(!FindNextFile(hFind,&FindFileData)) break;
      }
      FindClose(hFind);
     }
    }

  • 相关阅读:
    S2T40,第五章
    S2T40,第四章,简答5
    sqlmap扫描发现注入点示例
    使用jenkins部署.net项目
    在线预览PDF插件
    Visual Studio 2019 License Key
    asp.net core mvc 中 ModelState.IsValid 值是fasle
    sql操作
    sql server 查找与替换 正则表达式 匹配
    asp.net redis 帮助类封装
  • 原文地址:https://www.cnblogs.com/zengjunde/p/3662361.html
Copyright © 2020-2023  润新知