查找文件夾中指定的文件

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

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

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

 // 一、找文件 二、找目錄 三、對目錄重複步驟一、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); }}

相關文章
相關標籤/搜索