|
함수 원형 DIR * opendir(const char * name);
디렉토리 안의 파일 정보를 읽어오려면 먼저 FILE open처럼,
DIR open을 해주어야 한다. 디렉토리 오픈을 해주기 위해 사용하는 함수로써,
반환값이 DIR이라는 구조체 포인터이고, 상수 char 포인터 를 인자로 받는다. 즉 문자열을 입력 받고
데이터 손상을 막기 위해 const로 받는다.
opendir 함수를 사용하기 위해선 dirent.h 헤더파일을 #include 해주어야 한다.
ex)
#include <dirent.h>
DIR * 변수를 선언해야 한다.
ex) DIR * spDir;
사진 예제)
예제처럼 절대path를 넣어도 되고, 변수를 넣어도 된다.
$gcc test.c 후 실행사진 )
성공했기 떄문에 success를 출력되었다.
opendir은 실패 혹은 error시에 NULL을 반환하며 error시에는 errno 값에 해당 에러 값이 set된다.
ERRORS 종류 -EACCES, 권한 없음. -EMFILE, 프로세스가 사용중인 많은 파일 디스크립터. -ENFILE, 시스템에서 현재 많은 파일이 오픈됨. -ENOENT, 디렉토리가가 없거나 문자열이 비어있음. -ENOMEM, 작업을 완료할 메모리가 부족함. -ENOTDIR, 디텍토리 파일이 아님. |
좀 더 자세한 정보는
$man opendir 명령시 확인 할 수 있다.
'IT > C 언어' 카테고리의 다른 글
IPC, 공유메모리 생성 함수 shmget() (0) | 2013.06.02 |
---|---|
IPC, 메세지 큐 생성 msgget() 함수 (0) | 2013.05.19 |
C언어 - 파일 정보 struct stat, 구조체 (2) | 2013.05.05 |
C언어 - 파일 정보 읽기 함수 stat() ,lstat() ,fstat(); (0) | 2013.05.05 |
C언어 - 디렉토리 읽기 함수 readdir(); (0) | 2013.04.28 |