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

  • 相关阅读:
    短信发送流程
    aidl
    tail
    RIL层传输的方式就是socket
    adb s <设备> <命令>
    Shell
    你好,色彩 android:background="@color/white" [create file color.xml at res/values/]
    [C#]在C#中使用NUnit进行单元测试
    [ASP.NEt] IE6布署NET网站时,Oracle 抛出异常
    [ASP.NET]如何Response.Redirect新的页面到指定的框架中(原创)
  • 原文地址:https://www.cnblogs.com/zengjunde/p/3662361.html
Copyright © 2011-2022 走看看