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 |