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/
댓글 달기