readdir()에 대한 질문입니다...
글쓴이: wildone / 작성시간: 목, 2003/11/06 - 10:40오전
opendir, closedir, readdir함수를 사용해 보기 위해서 한번 만들어본 코드입니다.
#include <stdio.h> //#include <sys/types.h> //#include <sys/stat.h> #include <dirent.h> #include <string.h> int main(int argc, char *argv[]){ char name[100]; DIR *dirp; struct dirent *dp; printf("argc = %d\n",argc); printf("argv[0] = %s\n",argv[0]); if(argc == 1){ printf("\nThis program will check current dir have following dir\n : "); scanf("%s",name); } else{ strcpy(name, argv[1]); } dirp = opendir("."); while( (dp = readdir(dirp)) != NULL){ if(strcmp(dp->d_name,name) ==0){ (void) closedir(dirp); printf("\n%s Found.\n\n",dp->d_name); return 1; } } (void)closedir(dirp); printf("\nCan't find %s\n\n",name); return 0; }
궁금한 점은 이 코드가 아니라 실행 결과인데요..
같은 경로상에 abc란 파일이 있을경우 abc를 찾으라고 하면
있다고 출력을 해주더라구요.
원래 이 함수들은 디렉토리 뿐만이 아니라 파일에 대해서도
샤바샤바하는건가요?
Forums:
예. readdir이 directory name만을 돌려주는 함수가 아니
예. readdir이 directory name만을 돌려주는 함수가 아니고 directory 자체를 읽어서 그 디렉토리 안에 있는 파일(여기서 파일이란 모든 종류, fifo, symbolic link, directory, character device, block device)들을 알려주는 함수입니다.
C FAQ: http://www.eskimo.com/~scs/C-faq/top.html
Korean Ver: http://cinsk.github.io/cfaqs/
댓글 달기