카테고리 없음
[C언어] 파일검색 예제 - _findfirst(). _findnext(), _findclose
s뽈록이s
2013. 7. 8. 12:15
void main() { struct _finddata_t fd; long handle; int result = 1; handle = _findfirst("c:\\*.*", &fd); if(handle == -1)return; while (result != -1) { printf("파일명 : %s, 크기:%d\n", fd.name, fd.size); result = _findnext(handle, &fd); } _findclose(handle); }
프로그램 실행화면
long _findfirst( char *filespec, struct _finddata_t *fileinfo );
int _findnext( long handle, struct _finddata_t *fileinfo );
int _findclose( long handle );
struct _finddata_t {
unsigned attrib;
time_t time_create; /* -1 for FAT file systems */
time_t time_access; /* -1 for FAT file systems */
time_t time_write;
_fsize_t size;
char name[260];
};
파일검색 프로그램 치고는 프로그램이 길지 않아서 이해하는데 어려움은 없을 것이라 생각된다. findfirst()로 첫 파일검색 조건을 준다.
조건에 만족하는 파일이 없으면 -1이 반환된다. 그리고 findnext()함수로 차례차례 불러들이고 마지막으로 findclose()함수로 마무리를 한다.
서브 디렉토리까지 검색을 할려면 재귀 함수를 사용해야 한다. 실력 향상을 위해서 한번 만들어 보는 것도 좋을 것 같다.