tail head cat sleep
QR code linking to this page

Man page  — DIRECTORY

명칭

opendir, readdir, readdir_r, telldir, seekdir, rewinddir, closedir, dirfd – 디렉토리 조작

내용

프로그램 라이브러리

Standard C Library (libc, -lc)

서식

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

DIR *
opendir(const char *filename);

struct dirent *
readdir(DIR *dirp);

int
readdir_r(DIR *dirp, struct dirent *entry, struct dirent **result);

long
telldir(DIR *dirp);

void
seekdir(DIR *dirp, long loc);

void
rewinddir(DIR *dirp);

int
closedir(DIR *dirp);

int
dirfd(DIR *dirp);

해설

opendir() 함수는, filename 그리고 지정된 디렉토리를 열어, 디렉토리 스트림 (을)를 거기에 대응시켜, 후속의 조작으로 디렉토리 스트림 (을)를 식별하는데 사용하는 포인터를 돌려줍니다. filename 에 액세스 할 수 없는 경우, 또는 모든 것을 보관 유지하는데 충분한 메모리를 malloc(3) 할 수 없는 경우는, 포인터 NULL 하지만 돌려주어집니다.

readdir() 함수는, 다음의 디렉토리 엔트리를 가리키는 포인터를 돌려줍니다. 이 함수는, 디렉토리의 말미에 도달하는지, 또는 무효인 seekdir() 조작을 검출하면(자) NULL (을)를 돌려줍니다.

readdir_r() (은)는, readdir() (와)과 같은 기능을 제공합니다만, 호출원래는 결과를 격납하기 위한 디렉토리 entry 버퍼를 제공하지 않으면 안됩니다. 읽기가 성공하면(자) resultentry (을)를 가리켜, 디렉토리의 말미에 이르면(자) result NULL (으)로 설정됩니다. readdir_r() (은)는, 성공했을 경우 0 을 돌려주어, 그렇지 않으면 실패를 나타내는 에러 넘을 돌려줍니다.

telldir() 함수는, 지정되었다 디렉토리 스트림 에 관련지을 수 있고 있는 현재의 위치를 돌려줍니다. telldir() 하지만 돌려주는 값이 유효한 것은, 그 값이 나타난 원의 DIR 포인터 dirp 하지만 살아 있는 동안만입니다. 디렉토리가 닫혀지고 다시 열리면(자), telldir() 하지만 돌려준 이전의 값은 이미 유효하지는 않습니다.

seekdir() 함수는, 그 디렉토리 스트림 에 대한 다음의 readdir() 조작의 위치를 설정합니다. 새로운 위치는, 그 디렉토리 스트림 (와)과 관련지을 수 있고 있는 것으로, telldir() 조작이 실행되었을 때에 돌려주어지는 것입니다.

rewinddir() 함수는, 지정되었다 디렉토리 스트림 의 위치를 그 디렉토리의 선두에 되돌립니다.

closedir() 함수는, 지정되었다 디렉토리 스트림 (을)를 닫아 dirp 포인터에 관련지을 수 있었던 구조체를 해방합니다. 처리가 성공했을 경우는 0 을 돌려줍니다. 처리가 실패하면(자) -1 가 돌려주어져 에러를 시 위해(때문에) 글로벌 변수 errno 하지만 설정됩니다.

dirfd() 함수는, 지정되었다 디렉토리 스트림 에 관련지을 수 있었던 정수의 파일 기술자를 돌려줍니다. open(2) (을)를 참조해 주세요.

디렉토리에서 엔트리 ``name''를 검색하는 샘플 코드는 다음과 같습니다.

len = strlen(name);
dirp = opendir(". ");
while ((dp = readdir(dirp)) ! = NULL)
        if (dp->d_namlen == len && ! strcmp(dp->d_name, name)) {
                (void) closedir(dirp);
                return FOUND;
        }
(void) closedir(dirp);
return NOT_FOUND;

관련 항목

close(2), lseek(2), open(2), read(2), dir(5)

역사

opendir(), readdir(), telldir(), seekdir(), rewinddir(), closedir()dirfd() 의 각 함수는 BSD 4.2 그리고 등장했습니다.

DIRECTORY (3) June 4, 1993

tail head cat sleep
QR code linking to this page


Ben Bullock이 유닉스 매뉴얼 페이지에서 서비스에 대한 의견을 주시기 바랍니다. Privacy policy.

UNIX is a four-letter word!