파일검색은 몇개나 될지도 모르는 파일들을 반복적으로 검색해야 하므로 함수 하나만으로고 검색할수 없으며 다음 세 함수를 조합해 파일을 검색한다.

HANDLE  FindFirstFile(LPCTSTR lpFileName, LPWIN32_FIND_DATA lpFindFileData);  :: MSDN보기
BOOL    FindNextFiie(HANDLE hFindFile, LPWIN32_FIND_DATA lpFindFileData);  :: MSDN보기
BOOL     FindClose(HANDLE hFindFile);  :: MSDN보기

FindFirstFile
함수는 검색을 시작하는 역활을 한다.(검색식, 이곳에 구조체 정보 대입)
FindNextFile 함수는 이어지는 검색을 한다.(검색핸들, 저장할 구조체)
FIndClose 검색이 종료된후에 검색 핸들을 해제한다.

==>FindFirstFile 함수는 검색식을 전달받아 첫번째 검색을 하며 그결과로 검색 핸들을 생성한다.
    FindNextFile 함수는 검색 핸들의 정보를 참조하여 다음 검색을 계속해 나가며 더이상 파일이
    발견되지 않으면 0을 리턴한다.

기본예)
WIN32_FIND_DATA  findFileData;
HANDLE hFileHandle;
BOOL bResult;
char m_szDir[MAX_PATH] = "C:\\temp\\*.*";
// szDir에 뒤지고자 하는 디렉토리의 경로명을 준다. 예를 들면 "C:\\TEMP\\*.*"


hFileHandle = FindFirstFile(m_szDir, &findFileData);

// 파일을 못 찾은 경우
if( hFileHandle == INVALID_HANDLE_VALUE )
    return -1;

while( bResult )
{
    // 찾은 파일의 이름은 cFileName 필드로 들어온다.
    ...
    원하는 코드를 넣는다.
    ...

    // 다음 파일을 찾는다.
    bResult = FindNextFile(hFileHandle, &findFileData);
}
FindClose(hFileHandle);

원본 http://blog.naver.com/12whoonw12?Redirect=Log&logNo=110001871239
Posted by 장안동베짱e :