본문 바로가기

Programming/Win32&MFC&COM

MFC의 CFileFind를 이용한 파일명 열거

반응형

MFC에서는 파일을 찾고 나열하기 쉽도록 CFileFind라는 클래스가 존재합니다.

이 클래스를 사용하면 굉장히 편리하게 파일을 나열할 수 있습니다.

소스 코드는 다음과 같습니다.

찾을 파일의 형식이나 파일명을 지정하고 검색을 하시면 됩니다.

이것은 MSDN에 나온 예제입니다.

CFileFind finder;
BOOL bWorking = finder.FindFile("*.*");
while (bWorking)
{
        bWorking = finder.FindNextFile();
        cout << (LPCTSTR) finder.GetFileName() << endl;
}

객체를 생성하고 FindFile()를 실행해서 파일의 이름이나 형식을 지정해줍니다.

그리고 FindNextFile이 TRUE를 리턴하는 동안 파일명을 화면에 출력해줍니다.

그리고 다음은 응용 예제입니다.

해당하는 폴더에서 .txt를 확장자로 갖는 파일들만 나열하고 파일명만 리스트에 넣어주는 프로그램입니다.

파일을 나열할 때 유용하게 사용할 수 있습니다.

CFileFind finder;
BOOL bWorking = finder.FindFile( _T("PHRASE\\*.txt") );
while (bWorking)
{
        bWorking = finder.FindNextFile();
        m_PhraseList.AddString( finder.GetFileName().Left ( finder.GetFileName().GetLength() - 4 ) );
}


반응형