RAD Studio |  |

closedir, wclosedir

Header File

dirent.h

Category

Directory Control Routines

Prototype

void closedir(DIR *dirp);

void wclosedir(wDIR *dirp);

Description

Closes a directory stream.

closedir is available on POSIX-compliant UNIX systems.

The closedir function closes the directory stream dirp, which must have been opened by a previous call to opendir. After the stream is closed, dirp no longer points to a valid directory stream.

wclosedir is the Unicode version of closedir.

Return Value

If closedir is successful, it returns 0. Otherwise, closedir returns -1 and sets the global variable errno to

EBADF | The dirp argument does not point to a valid open directory stream

Example

Copy Code

    /* opendir.c - test opendir(), readdir(), closedir() */

    #include <dirent.h>
    #include <stdio.h>
    #include <stdlib.h>

    void scandir(char *dirname)
    {
       DIR *dir;
       struct dirent *ent;

       printf("First pass on '%s':\n",dirname);
       if ((dir = opendir(dirname)) == NULL)
       {
         perror("Unable to open directory");
         exit(1);
       }
       while ((ent = readdir(dir)) != NULL)
         printf("%s\n",ent->d_name);

       printf("Second pass on '%s':\n",dirname);
       rewinddir(dir);
       while ((ent = readdir(dir)) != NULL)
         printf("%s\n",ent->d_name);
       if (closedir(dir) != 0)
         perror("Unable to close directory");
    }

    void main(int argc,char *argv[])
    {
       if (argc != 2)
       {
         printf("usage: opendir dirname\n");
         exit(1);
       }
       scandir(argv[1]);
       exit(0);
    }

Portability

POSIX | Win32 | ANSI C | ANSI C++
+ | + |  |

Copyright(C) 2009 Embarcadero Technologies, Inc. All Rights Reserved.
What do you think about this topic? Send feedback!