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++ |
---|---|---|---|
+ |
+ |