tail head cat sleep
QR code linking to this page

Man page  — SCANDIR

명칭

scandir, alphasort – 디렉토리를 주사 한다

내용

프로그램 라이브러리

Standard C Library (libc, -lc)

서식

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

int
scandir(const char *dirname, struct dirent ***namelist, int σelectstruct dirent *, int ξompar©nst void *, const void *);

int
alphasort(const void *d1, const void *d2);

해설

scandir() 함수는 디렉토리 dirname (을)를 읽어내, malloc(3) (을)를 사용해 디렉토리 엔트리를 가리키는 포인터의 배열을 작성합니다. 그리고 배열내의 엔트리의 수를 돌려줍니다. 디렉토리 엔트리의 배열을 가리키는 포인터는, namelist 하지만 참조하는 위치에 보존됩니다.

select 파라미터는, 어느 엔트리를 배열에 넣는지를 선택하기 위해서 scandir() 에 의해 불려 가는, 유저 정의 써브루틴을 가리키는 포인터입니다. 선택 routine에는 디렉토리 엔트리를 가리키는 포인터가 건네받습니다. 또, 디렉토리 엔트리를 배열에 넣는 경우는 비 0 의 값을 돌려주지 않으면 안됩니다. select 하지만 NULL 의 경우, 모든 디렉토리 엔트리를 집어 넣을 수 있습니다.

compar 파라미터는, 유저 정의 써브루틴을 가리키는 포인터이며, 이 써브루틴은 완성한 배열을 정렬 하기 위해서 qsort(3) 에게 건네집니다. 이 포인터가 NULL 의 경우, 배열은 정렬 되지 않습니다.

alphasort() 함수는, compar 파라미터에 사용할 수 있는 routine로, 배열을 알파벳순서에 정렬 합니다.

배열용으로 할당메모리를 free(3) 그리고 할당 해제할 수 있습니다. 그 경우, 배열내의 각 포인터를 해방하고 나서, 배열 자체를 해방해 주세요.

진단

디렉토리가 읽어내용으로 열지 않는 경우, 또는 malloc(3) 하지만 모든 데이터 구조를 보관 유지하는데 충분한 메모리를 할당하고 할 수 없는 경우는 -1 (을)를 돌려줍니다.

관련 항목

directory(3), malloc(3), qsort(3), dir(5)

역사

scandir() (와)과 alphasort() 함수는 BSD 4.2 그리고 등장했습니다.

SCANDIR (3) June 4, 1993

tail head cat sleep
QR code linking to this page


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

I'm not interested in developing a powerful brain. All I'm after is just a mediocre brain, something like the President of the American Telephone and Telegraph Company.
— Alan Turing