errno-Konstanten

Syntax

#include <errno.h>

Hinweise

Die errno Konstanten sind Werte für verschiedene Fehlerbedingungen.errno

ERRNO.H enthält die Definitionen der errno Werte. In 32-Bit-Windows-Betriebssystemen werden jedoch nicht alle definitionen ERRNO.H verwendet. Einige werte in ERRNO.H sind vorhanden, um die Kompatibilität mit der UNIX-Familie von Betriebssystemen aufrechtzuerhalten. Die errno Werte in einem 32-Bit-Windows-Betriebssystem sind eine Teilmenge der Werte für errno UNIX-Systeme.

Der errno Wert entspricht nicht unbedingt dem tatsächlichen Fehlercode, der von einem Systemaufruf aus dem Windows-Betriebssystem zurückgegeben wird. Verwenden Sie die _doserrno Variable, die diesen Wert enthält, um auf den tatsächlichen Fehlercode des Betriebssystems zuzugreifen.

Die folgenden errno-Werte werden unterstützt:

Konstante Beschreibung Wert
E2BIG Argumentliste ist zu lang. 7
EACCES Berechtigung verweigert). Die Berechtigungseinstellung der Datei lässt den angegebenen Zugriff nicht zu. Es wurde versucht, auf eine Datei (oder in einigen Fällen ein Verzeichnis) auf eine Weise zuzugreifen, die nicht mit den Attributen der Datei kompatibel ist.

Beispielsweise kann der Fehler auftreten, wenn versucht wird, aus einer Datei zu lesen, die nicht geöffnet ist. Alternativ können Sie auch versuchen, eine vorhandene schreibgeschützte Datei zum Schreiben zu öffnen oder ein Verzeichnis anstelle einer Datei zu öffnen. Unter MS-DOS-Betriebssystemversionen 3.0 und höher EACCES kann auch eine Sperrungs- oder Freigabeverletzung angegeben werden.

Der Fehler kann auch bei dem Versuch auftreten, eine Datei oder ein Verzeichnis umzubenennen oder ein vorhandenes Verzeichnis zu entfernen.
13
EAGAIN Nicht mehr Prozesse oder nicht genügend Arbeitsspeicher oder maximale Schachtelungsebene erreicht. Fehler beim Versuch, einen neuen Prozess zu erstellen, da es keine weiteren Prozessplätze gibt oder nicht genügend Arbeitsspeicher vorhanden ist oder die maximale Schachtelungsebene erreicht wurde. 11
EBADF Ungültige Dateinummer. Es gibt zwei mögliche Ursachen: 1) Der angegebene Dateideskriptor ist kein gültiger Wert oder verweist nicht auf eine geöffnete Datei. 2) Es wurde versucht, in eine Datei oder ein Gerät zu schreiben, die/das nur für schreibgeschützten Zugriff geöffnet ist. 9
EBUSY Gerät oder Ressource ausgelastet. 16
ECHILD Keine generierten Prozesse. 10
EDEADLK Deadlock von Ressourcen würde auftreten. 36
EDEADLOCK Identisch mit EDEADLK der Kompatibilität mit älteren Microsoft C-Versionen. 36
EDOM Mathematikargument. Das Argument für eine mathematische Funktion befindet sich nicht in der Domäne der Funktion. 33
EEXIST Dateien sind vorhanden. Es wurde versucht, eine Datei zu erstellen, die bereits vorhanden ist. Beispielsweise werden die Flags _O_EXCL und die _O_CREAT Kennzeichnungen in einem _open Aufruf angegeben, die benannte Datei ist jedoch bereits vorhanden. 17
EFAULT Ungültige Adresse. 14
EFBIG Datei zu groß. 27
EILSEQ Unzulässige Bytesequenz (z. B. in einer MBCS Zeichenfolge). 42
EINTR Unterbrochene Funktion. 4
EINVAL Ungültiges Argument. Für eines der an eine Funktion übergebenen Argumente wurde ein ungültiger Wert angegeben. Beispielsweise liegt der für den Ursprung angegebene Wert beim Positionieren eines Dateizeigers (durch einen Aufruf von fseek) vor dem Anfang der Datei. 22
EIO E/A-Fehler. 5
EISDIR Ist ein Verzeichnis. 21
EMFILE Zu viele geöffnete Dateien. Es sind keine weiteren Dateideskriptoren verfügbar, sodass keine Dateien mehr geöffnet werden können. 24
EMLINK Zu viele Links. 31
ENAMETOOLONG Dateiname zu lang. 38
ENFILE Zu viele Dateien werden im System geöffnet. 23
ENODEV Kein solches Gerät. 19
ENOENT Datei oder Verzeichnis nicht vorhanden. Die angegebene Datei oder das angegebene Verzeichnis ist nicht vorhanden oder kann nicht gefunden werden. Diese Meldung kann auftreten, wenn eine angegebene Datei nicht vorhanden ist oder eine Komponente eines Pfads kein vorhandenes Verzeichnis angibt. 2
ENOEXEC Exec-Formatfehler. Es wurde versucht, eine Datei auszuführen, die nicht ausführbar ist oder über ein ungültiges Dateiformat für ausführbare Dateien verfügt. 8
ENOLCK Es sind keine Sperren verfügbar. 39
ENOMEM Es ist nicht genügend Arbeitsspeicher für den versuchten Operator verfügbar. Diese Meldung kann beispielsweise auftreten, wenn nicht genügend Arbeitsspeicher verfügbar ist, um einen untergeordneten Prozess auszuführen, oder wenn die Zuordnungsanforderung in einem _getcwd Aufruf nicht erfüllt werden kann. 12
ENOSPC Kein Speicherplatz auf dem Gerät übrig. Auf dem Gerät ist kein Speicherplatz zum Schreiben mehr verfügbar (wenn z.B. der Datenträger voll ist). 28
ENOSYS Funktion wird nicht unterstützt. 40
ENOTDIR Kein Verzeichnis. 20
ENOTEMPTY „Verzeichnis ist nicht leer.“ 41
ENOTTY Unangemessener E/A-Steuerungsvorgang. 25
ENXIO Kein solches Gerät oder eine solche Adresse. 6
EPERM Der Vorgang ist nicht zulässig. 1
EPIPE Gebrochenes Rohr. 32
ERANGE Ergebnis zu groß. Ein an eine mathematische Funktion übergebenes Argument ist zu groß, was zu teilweisem oder vollständigem Bedeutungsverlust im Ergebnis führt. Dieser Fehler kann auch in anderen Funktionen auftreten, wenn ein Argument größer als erwartet ist (z. B. wenn das buffer Argument _getcwd länger als erwartet ist). 34
EROFS Schreibgeschütztes Dateisystem. 30
ESPIPE Ungültige Suche. 29
ESRCH Kein solcher Prozess. 3
EXDEV Geräteübergreifende Verbindung. Es wurde versucht, eine Datei auf ein anderes Gerät zu verschieben (mithilfe der rename Funktion). 18
STRUNCATE Eine Zeichenfolgenkopie oder Verkettung resultierte in einer abgeschnittenen Zeichenfolge. Siehe _TRUNCATE. 80

Die folgenden Werte werden für die Kompatibilität mit POSIX unterstützt:

Konstante Beschreibung Wert
EADDRINUSE Verwendete Adresse. 100
EADDRNOTAVAIL Adresse nicht verfügbar. 101
EAFNOSUPPORT Adressfamilie nicht unterstützt. 102
EALREADY Die Verbindung wird bereits ausgeführt. 103
EBADMSG Ungültige Nachricht. 104
ECANCELED Der Vorgang wurde abgebrochen. 105
ECONNABORTED Die Verbindung wurde abgebrochen. 106
ECONNREFUSED Die Verbindung wurde abgelehnt. 107
ECONNRESET Verbindungszurücksetzung. 108
EDESTADDRREQ Zieladresse erforderlich. 109
EHOSTUNREACH Host nicht erreichbar. 110
EIDRM Bezeichner wurde entfernt. 111
EINPROGRESS Vorgang wird ausgeführt. 112
EISCONN Bereits verbunden. 113
ELOOP Zu viele symbolische Verknüpfungsebenen. 114
EMSGSIZE Nachrichtengröße. 115
ENETDOWN Netzwerk nach unten. 116
ENETRESET Netzwerkzurücksetzung. 117
ENETUNREACH Netzwerk nicht erreichbar. 118
ENOBUFS Kein Pufferspeicher. 119
ENODATA Keine Nachricht verfügbar. 120
ENOLINK Kein Link. 121
ENOMSG Keine Nachricht. 122
ENOPROTOOPT Keine Protokolloption. 123
ENOSR Keine Datenstromressourcen. 124
ENOSTR Kein Datenstrom. 125
ENOTCONN Ist nicht verbunden. 126
ENOTRECOVERABLE Zustand kann nicht wiederhergestellt werden. 127
ENOTSOCK Kein Socket. 128
ENOTSUP Nicht unterstützt. 129
EOPNOTSUPP Vorgang wird nicht unterstützt. 130
EOTHER Andere. 131
EOVERFLOW Wert zu groß. 132
EOWNERDEAD Besitzer ist tot. 133
EPROTO Protokollfehler. 134
EPROTONOSUPPORT Protokoll wird nicht unterstützt. 135
EPROTOTYPE Falscher Protokolltyp. 136
ETIME Streamtimeout. 137
ETIMEDOUT Timeout. 138
ETXTBSY Textdatei ausgelastet. 139
EWOULDBLOCK Der Vorgang würde blockieren. 140

Siehe auch

Globale Konstanten