closedir - close a directory stream
#include <dirent.h>
int closedir(DIR *dirp);
The closedir() function shall close the directory stream referred to by the argument dirp. Upon return, the value of dirp may no longer point to an accessible object of the type DIR. If a file descriptor is used to implement type DIR, that file descriptor shall be closed.
Upon successful completion, closedir() shall return 0; otherwise, -1 shall be returned and errno set to indicate the error.
The closedir() function may fail if:
- [EBADF]
- The dirp argument does not refer to an open directory stream.
- [EINTR]
- The closedir() function was interrupted by a signal.
Closing a Directory Stream
The following program fragment demonstrates how the closedir() function is used.
... DIR *dir; struct dirent *dp; ... if ((dir = opendir (".")) == NULL) { ... }
while ((dp = readdir (dir)) != NULL) { ... }
closedir(dir); ...
None.
None.
None.
opendir(), the Base Definitions volume of IEEE Std 1003.1-2001, <dirent.h>
First released in Issue 2.
In the SYNOPSIS, the optional include of the <sys/types.h> header is removed.
The following new requirements on POSIX implementations derive from alignment with the Single UNIX Specification:
The requirement to include <sys/types.h> has been removed. Although <sys/types.h> was required for conforming implementations of previous POSIX specifications, it was not required for UNIX applications.
The [EINTR] error condition is added as an optional error condition.