차근차근/OpenCV

폴더안에 폴더까지 검색하기

예쁜꽃이피었으면 2014. 7. 30. 09:55

http://imagej.tistory.com/75

-------------------------------------------------------------------------------------------------



#include <ctype.h>

#include <io.h>

#include <stdio.h>

#include <iostream>

#include <afxwin.h>

//#include <cstring.h>

#include <atlstr.h>

 #include <vector> 


using namespace std;



void GetFileList(CString strFolder)   

{   

CFileFind file;  

BOOL b = file.FindFile(strFolder + _T("\\*.*")); // 모든 확장자를 다 사용.

// CString strMusicFilter = ".MP3.OGG.WMA.WAV"; // 필터링 하고 싶으면 이렇게 쓰면 됨

CString strFolderItem, strFileExt, strTempString;  

//CString m_sCopyList = _T("");

std::vector<CString> m_sCopyList;


while(b)  

{  

b = file.FindNextFile();  

if(file.IsDirectory() && !file.IsDots()) // 디렉토리 발견시 

{  

strFolderItem = file.GetFilePath();  

GetFileList(strFolderItem); // 하위폴더를 검색하기 위해 재귀호출 발생  

strFolderItem = file.GetFilePath();  

strFileExt = strFolderItem.Mid(strFolderItem.ReverseFind('.')); // 확장자만 추출한다. 


if (!file.IsDots()) // 파일 탐색 필터 정의에따라 해당 StringList에 추가

{  

strFileExt.MakeUpper(); // strFileExt 에는 확장자 (.EXE 형태) 가 들어옴. 비교위해 대문자화 함

if( file.IsDirectory() ) continue; // 폴더만 남는 경우는 넣으면 안됨 

m_sCopyList.push_back(strFolderItem); 

}

}



폴더의 모든 하위폴더와 파일들 얻어오기

http://mynotepad.tistory.com/50 

void GetFileList(CString strFolder)   
{   
 CFileFind file;  
 BOOL b = file.FindFile(strFolder + _T("\\*.*"));  // 모든 확장자를 다 사용.
// CString strMusicFilter = ".MP3.OGG.WMA.WAV";   // 필터링 하고 싶으면 이렇게 쓰면 됨
 CString strFolderItem, strFileExt, strTempString; 

 while(b)  
 {  
  b = file.FindNextFile();  
  if(file.IsDirectory() && !file.IsDots())   // 디렉토리 발견시 
  {  
   strFolderItem = file.GetFilePath();  
   GetFileList(strFolderItem);      // 하위폴더를 검색하기 위해 재귀호출 발생  
  } 
  strFolderItem = file.GetFilePath();  
  strFileExt = strFolderItem.Mid(strFolderItem.ReverseFind('.'));  // 확장자만 추출한다.

  if (!file.IsDots())         // 파일 탐색 필터 정의에따라 해당 StringList에 추가
  {  
   strFileExt.MakeUpper();       // strFileExt 에는 확장자 (.EXE 형태) 가 들어옴. 비교위해 대문자화 함
   if( file.IsDirectory() ) continue;    // 폴더만 남는 경우는 넣으면 안됨 
   m_sCopyList.push_back(strFolderItem); 
  } 
 }
}



===========> m_sCopyList는 CString 클래스 변수로 m_sCopyList를 선언하면 된다.
-------------------------------------------------------------------------------------------------

폴더내 파일 및 폴더 리스트 얻기. 재귀호출.

http://cbuilder.borlandforum.com/impboard/impboard.dll?action=read&db=bcb_tip&no=884


->vcl.h 는 볼랜드 c++빌더에서 쓰는 화일. 비주얼C에선 사용 못함.

   델파이나 빌더에서 쓰임


C / C++ 콘솔모드에서 폴더탐색 v1.1

http://h391106.tistory.com/19 


[MFC] 하위 폴더 + 파일 이름까지 찾기

http://cent84.tistory.com/38


반응형