opendir - ein Verzeichnis öffnen
Standard-C-Bibliothek (
libc,
-lc)
#include <sys/types.h>
#include <dirent.h>
DIR *opendir(const char *name);
DIR *fdopendir(int dd);
fdopendir():
Seit Glibc 2.10:
_POSIX_C_SOURCE >= 200809L
Vor Glibc 2.10:
_GNU_SOURCE
Die Funktion
opendir() öffnet einen Verzeichnis-Datenstrom der dem
Verzeichnis
name entspricht und liefert einen Zeiger auf den ersten
Eintrag des Verzeichnisses zurück.
Die Funktion
fdopendir() ähnelt
opendir(), gibt aber eine
Folge der Verzeichniseinträge für das Verzeichnis zurück,
auf das der Dateideskriptor
dd verweist. Nach einem erfolgreichen
Aufruf von
fdopendir() wird
dd intern von der Implementierung
benutzt und sollte nicht anderweitig von der Anwendung benutzt werden.
Die Funktionen
opendir() und
fdopendir() liefern einen Zeiger auf
den Verzeichnis-Datenstrom zurück. Bei einem Fehler wird ein NULL
zurückgegeben und
errno gesetzt, um den Fehler anzuzeigen.
- EACCES
- Zugriff verweigert
- EBADF
-
dd ist kein gültiger zum Lesen
geöffneter Dateideskriptor.
- EMFILE
- Die Beschränkung pro Prozess der Anzahl offener
Datei-Deskriptoren wurde erreicht.
- ENFILE
- Die systemweite Beschränkung für die
Gesamtzahl offener Dateien wurde erreicht.
- ENOENT
- Das Verzeichnis existiert nicht oder name ist eine
leere Zeichenkette.
- ENOMEM
- Der Speicher reicht nicht aus, um den Vorgang zu
beenden.
- ENOTDIR
-
name ist kein Verzeichnis.
fdopendir() ist seit Glibc 2.4 verfügbar.
Siehe
attributes(7) für eine Erläuterung der in diesem
Abschnitt verwandten Ausdrücke.
Schnittstelle |
Attribut |
Wert |
opendir(), fdopendir() |
Multithread-Fähigkeit |
MT-Safe |
opendir() ist auf SVr4 und 4.3BSD vorhanden und in POSIX.1-2001
spezifiziert.
fdopendir() ist in POSIX.1-2008 spezifiziert.
Dateinameneinträge können mittels
readdir(3) aus einem
Verzeichnis-Stream gelesen werden.
Der zugrundeliegende Dateideskriptor des Verzeichnis-Datenstroms kann mit
dirfd(3) abgefragt werden.
Die Funktion
opendir() setzt dem Schalter »close-on-exec«
für den Dateideskriptor, der
DIR * zugrundeliegt. Die Funktion
fopendir() lässt die Einstellung des Schalter
»close-on-exec« für den Dateideskriptor
dd
unverändert. POSIX.1-200x spezifiziert nicht, ob ein erfolgreicher
Aufruf von
fdopendir() den Schalter »close-on-exec«
für den Dateideskriptor
dd setzt.
open(2),
closedir(3),
dirfd(3),
readdir(3),
rewinddir(3),
scandir(3),
seekdir(3),
telldir(3)
Die deutsche Übersetzung dieser Handbuchseite wurde von Markus Kaufmann
<
[email protected]> und Chris Leick <
[email protected]>
erstellt.
Diese Übersetzung ist Freie Dokumentation; lesen Sie die
GNU
General Public License Version 3 oder neuer bezüglich der
Copyright-Bedingungen. Es wird KEINE HAFTUNG übernommen.
Wenn Sie Fehler in der Übersetzung dieser Handbuchseite finden, schicken
Sie bitte eine E-Mail an die
Mailingliste
der Übersetzer