closedir, wclosedir
Nach oben zu dirent.h
Header-Datei
dirent.h
Kategorie
Verzeichnisbearbeitungsroutinen
Prototyp
void closedir(DIR *dirp);
void wclosedir(wDIR *dirp);
Beschreibung
Schließt einen Verzeichnis-Stream.
closedir ist auf POSIX-kompatiblen UNIX-Systemen verfügbar.
Die Funktion closedir schließt den Verzeichnis-Stream dirp, der durch einen vorherigen Aufruf der Funktion opendir geöffnet wurde. Nachdem der Stream geschlossen wurde, zeigt dirp auf keinen gültigen Verzeichnis-Stream mehr.
wclosedir ist die Unicode-Version von closedir.
Rückgabewert
Wenn die Funktion closedir erfolgreich ausgeführt wird, gibt sie 0 zurück. Andernfalls gibt closedir -1 zurück, und weist der globalen Variablen errno folgenden Wert zu:
|
EBADF |
The dirp argument does not point to a valid open directory stream (Das Argument dirp zeigt auf keinen gültigen geöffneten Verzeichnis-Stream) |
Beispiel
/* 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);
}
| POSIX | Win32 | ANSI C | ANSI C++ |
|---|---|---|---|
|
+ |
+ |