zoukankan      html  css  js  c++  java
  • 查找文件夹中指定的文件

    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);
     }
    }

  • 相关阅读:
    联合省选 2020 题解
    [省选联考 2020 A 卷] 组合数问题
    【NOI2016】循环之美
    MySQL 之 json 数据操作
    使用Redis和定时实现延时消费
    事务,这次还有不清楚的吗,一次实战坑
    哨兵redis配置
    记录一次shell脚本的使用
    记录一次工作中的SQL优化,临时表和CountDownLatch
    JAVA流读取文件并保存数据
  • 原文地址:https://www.cnblogs.com/zengjunde/p/3662361.html
Copyright © 2011-2022 走看看