NAME
closedir — close a
directory stream
SYNOPSIS
#include
<dirent.h>
int closedir(DIR *dirp);
DESCRIPTION
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 there is a file
descriptor associated with the stream (whether opened by
opendir(3) or dirfd(3), or passed to
fdopendir(3) when creating the stream), that file
descriptor shall be closed by closedir ().
RETURN VALUE
Upon successful completion, closedir ()
shall return 0; otherwise, -1 shall be returned and
errno
set to indicate the error.
ERRORS
The closedir () function may fail if:
EXAMPLES
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);
...
APPLICATION USAGE
None.
RATIONALE
None.
FUTURE DIRECTIONS
None.
SEE ALSO
XBD <dirent.h>
CHANGE HISTORY
First released in Issue 2.
Issue 6
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.
Issue 8
Austin Group Defect 1360 is applied, clarifying that type DIR always has the ability to store a file descriptor; what is optional is whether one is opened by opendir(3).