본문 바로가기
Programming/C & C++

[Unix / Linux] 특정 경로의 파일명 얻어오기

by leanu 2008. 1. 21.

[함수설명]

함수의 원형 :    DIR *opendir(const char *dirname);
함수의 원형 :    struct dirent *readdir(DIR *dirp);
함수의 원형 :    int closedir(DIR *dirp);

[기본 예제]

 #include <stdio.h>
 #include <sys/types.h>
 #include <dirent.h>


 int main(int argc, char *argv[])
 {
     DIR *p_dir  = NULL;
     struct dirent *p_dir_info;

     if(argc <= 1) printf("사용법: ShowDir <path>\n");
     else {
         p_dir = opendir(argv[1]); // argv[1]의 경로의 디렉토리에 대한 핸들을 얻는다.
         if(p_dir == NULL) printf("경로명에 문제가 있습니다. - %s\n", argv[1]);
         else {
             while((p_dir_info = readdir(p_dir)) != NULL){ // 디렉토리에 있는 파일 정보 얻는다.
                 printf("%s\n", p_dir_info->d_name);
             }
             closedir(p_dir); // opendir로 얻은 핸들을 닫는다.
         }
     }

     return 1;
 }

'Programming > C & C++' 카테고리의 다른 글

STL Sample Codes  (0) 2008.04.28
Unit Test - C Unit  (0) 2008.03.13
데이터형 범위  (0) 2008.01.19
Unix / Linux 에서 현재시간 측정하기  (0) 2008.01.16
난수 (Random) 함수  (0) 2008.01.02

댓글