FindFirstFile 을 이용한 SubDirectory 검색 및 vector 에 넣기
등록자 : cpueblo (유광희), 2008-08-29
글수정 | 글삭제
GetFindFileList(디렉토리명, 필터 (*.exe 등), vector 포인터)
void GetFindFileList(LPCTSTR pszDirectory, LPCTSTR pszFilter, std::vector *vtList)
{
TCHAR buf[_MAX_PATH];
TCHAR buf2[_MAX_PATH];
WIN32_FIND_DATA FindFileData;
lstrcpy(buf, pszDirectory);
lstrcat(buf, "\\");
lstrcat(buf, pszFilter);
HANDLE hHandle=FindFirstFile(buf, &FindFileData);
for(;hHandle!=INVALID_HANDLE_VALUE;)
{
if( ( FindFileData.cFileName[0]!=_T('.') || lstrlen(FindFileData.cFileName)>2) &&
( 0 != _stricmp( FindFileData.cFileName, "Replay"))) // Replay 폴더는 지우지 않는다
{
lstrcpy(buf,pszDirectory);
lstrcat(buf,_T("\\"));
lstrcat(buf,FindFileData.cFileName);
if(FindFileData.dwFileAttributes & FILE_ATTRIBUTE_DIRECTORY)
{
GetFindFileList(buf, pszFilter, vtList);
}
else
{
// printf("%s\r", buf);
vtList->push_back(buf);
}
}
if(!FindNextFile(hHandle,&FindFileData))
break;
}
FindClose(hHandle);
}
Usage
std::vector vtFileList;
std::vector ::iterator iter;
...
GetFindFileList(szListDir, "*.*", &vtFileList);
int FileCount = vtFileList.size();
for ( iter = vtFileList.begin(); iter != vtFileList.end() ; ++iter )
{
char *FileName = iter->c_str();
}
Keywords
하위 디렉토리 파일 검색 코드, FindFirst, vector 를 이용한 하위 폴더 검색, 하위 폴더 파일 검색
글수정 | 글삭제
http://codesarang.com. mail to cpueblo cpueblo.com
|