closedir man page


This manual page is part of the POSIX Programmer's Manual. The Linux implementation of this interface may differ (consult the corresponding Linux manual page for details of Linux behavior), or the interface may not be implemented on Linux.

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.

Return Value

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:

The dirp argument does not refer to an open directory stream.
The closedir() function was interrupted by a signal.

The following sections are informative.


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) {


See Also

dirfd(), fdopendir()

The Base Definitions volume of POSIX.1‐2008, <dirent.h>