http://shyu0303.egloos.com/viewer/1333386
CFileFind란 Class를 사용하면 된다.
CFileFind cFileFinder;
BOOL
bResult;
// path를 찾음 성공시 TRUE, 실패시 FALSE
bResult =
cFileFinder.FindFile( path );
// 그 다음 같은 이름의 파일 혹은 디렉토리있으면 TRUE, 없으면
FALSE
bResult = cFileFinder.FindNextFile();
if(
cFileFinder.IsDirectory() == TRUE )
MessageBox( "디렉토리 존재함"
);
FindNextFile을 하지 않고 IsDirectory() 함수를 호출하면 에러가 떠버린다.
아래와 같은 와일드
카드도 사용할 수 있다.// C:\\*.*가 있으면 TRUE,
C:\의 어떤 파일이라도 있으면 TRUE
bResult = cFileFinder.FindFile(
"C:\\*.*" );
// 바로
GetFileName하면 NULL에러 발생 아직 파일을 찾은 것은 아님
bResult = cFileFinder.FindNextFile();
MessageBox( cFileFinder.GetFileName() );
첫 번째 파일 이름이 나옴
그 다음은
FindNextFile()함수를 호출하여 리턴값이 0이 나올때까지 돌리면 된다.
MSDN예제엔 아래와 같이 쓰도록
되어있다.bResult = cFileFinder.FindFile(
"C:\\*.*" )
while( bResult
)
{
bResult = cFileFinder.FindNextFile();
// . 이나
..이면 다시 돌림
if( cFileFinder.IsDot() ) continue;
MessageBox( cFileFinder.GetFileName() );
}
참고 : http://kongmks.cafe24.com/175
'차근차근 > C' 카테고리의 다른 글
[VC]프로그래밍팁 (0) | 2014.09.04 |
---|---|
[펌] Win32 API FAQ (0) | 2014.09.04 |
Windows CE CFileFind (0) | 2014.09.04 |
상위폴더경로로 하위폴더 검색 (0) | 2014.09.03 |
하위디렉토리명 가져오기.. (0) | 2014.09.03 |