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

  • 相关阅读:
    HTML 基本知识
    Vue.js 基本内容
    机器学习概述
    9 验证回文串
    c 字符串的一些常用函数
    8 有效的字母异位词
    7 字符串中的第一个唯一字符
    对公平锁、非公平锁、可重入锁、递归锁、自旋锁的理解
    一个解释volatile关键字最好的例子
    Singleton多种实现方式的在多线程情况下的优缺点
  • 原文地址:https://www.cnblogs.com/zengjunde/p/3662361.html
Copyright © 2011-2022 走看看