특정 디렉토리 아래에 있는 모든 파일과 디렉토리 혹은 특정 조건의 파일과 디렉토리를 얻고자 한다면, 다음 API 함수를 이용한다.
BOOL FindNextFile(HANDLE hFind, LPWIN32_FIND_DATA finddata);
BOOL FindClose(HANDLE hFind);
FindFirstFile : 파일 검색을 시작한다.
파일 검색 문자열이 잘못되었거나 다른 이유로 함수 실행이 실패했을 경우 INVALID_HANDLE_VALUE로 Define된 상수값을 반환한다. 성공했을 경우 파일 검색 핸들을 반환하고 두 번째로 전달되는 구조체에 첫 번째로 발견되는 파일의 정보를 넣어준다.
LPCSTR lpFileName
파일 검색 문자열을 넘겨준다.
예) "c:\*.*" 혹은 "c:\*.txt"
LPWIN32_FIND_DATA finddata
파일 검색 데이터 구조체의 포인터를 넘겨준다.
FindNextFile : 다음 파일의 정보를 얻는다.
함수 실행이 성공하였을 경우 TRUE를, 실패하였을 경우 FALSE를 반환한다. 함수 성공시 두 번째 인자로 전해지는 구조체에 파일의 정보를 넣어준다.
HANDLE hFind
FindFirstFile이 반환한 파일 검색 핸들을 넘겨준다.
LPWIN32_FIND_DATA finddata
파일 검색 데이터 구조체의 포인터를 넘겨준다.
FileClose : 파일 핸들을 닫는다.
FindFirstFile에 의해 열린 파일 핸들을 닫는다. 성공하였을 경우 TRUE를, 실패하였을 경우 FALSE를 반환한다.
HANDLE hFind
FindFirstFile이 반환한 파일 검색 핸들을 넘겨준다.
실제 사용 예는 다음과 같다.
(2003/2005)LPCSTR 캐스팅에 문제가 있는 경우 Project -> Properties -> Configuration Properties -> General -> Character Set을 Not Set으로 설정하기 바랍니다.
2008년 1월 19일 이후 작성된 모든 글에 대해서 퍼가는 것을 금지합니다.
퍼가고자 하시는 분은 링크를 달아 주시기 바랍니다.
퍼가고자 하시는 분은 링크를 달아 주시기 바랍니다.



댓글을 달아 주세요
ㅋㅋ 이거 꽤 쓸만함 함수를 잘 정리해주셨군요.
감사합니다
감사합니다~ 저는 Lec 개발시 아주 유용하게 사용하고 있답니다ㅎ
Lec 아직도 개발중이었습니까?ㅋㅋ
네~ 열심히 개발중이랍니다.;; 더욱 강력해진 Lec을 기대하세요~
성실한 Harry씨 ㅋㅋ
'성실하다'라는 표현은 저와는 매우 동떨어진 표현이라고 생각합니다만,,
ㅋㅋㅡ.ㅡ;;
아녜용 우리 해리님은 성실해야 할 때는 성실해요~