errno-Konstanten
#include <errno.h>
Hinweise
Die errno-Werte sind Konstanten, die errno im Falle der verschiedenen Fehlerbedingungen zugewiesen werden.
ERRNO.H enthält die Definitionen der errno-Werte.Allerdings sind nicht alle Definitionen, die in ERRNO.H angegeben sind, bei 32-Bit-Windows-Betriebssystemen verwendet.Einige der Werte in ERRNO.H sind vorhanden, die Kompatibilität mit der UNIX-Familie von Betriebssystemen zu erhalten.
Die errno-Werte in einem 32-Bit-Windows-Betriebssystem sind eine Teilmenge der Werte für errno in XENIX-Systemen.Daher ist der errno-Wert nicht unbedingt derselbe wie der eigentlichen Fehlercode, der durch einen Systemaufruf von Windows-Betriebssystemen zurückgegeben wurde.Um den tatsächlichen Betriebssystem entspricht zuzugreifen, verwenden Sie die _doserrno-Variable, die den Wert enthält.
Die folgenden errno-Werte werden unterstützt:
ECHILD
Keine erzeugten Prozesse.EAGAIN
Nicht mehr Prozesse.Es wurde versucht, einen neuen Prozess ist fehlgeschlagen, weil keine weiteren Verarbeiten slots gibt, oder es ist nicht genügend Arbeitsspeicher vorhanden, oder die maximale Schachtelungsebene erstellt wurde erreicht.E2BIG
Argumentliste zu lang.EACCES
Zugriff verweigert.Die Einstellung für die Berechtigungen der Datei nicht mit dem angegebenen Zugriff.Dieser Fehler weist darauf hin, dass beim Versuch, eine Datei oder ein Verzeichnis in einigen Fällen) so zuzugreifen, die den Dateiattributen nicht kompatibel ist.Beispielsweise kann der Fehler ausgegeben, wenn versucht wird, aus einer Datei zu lesen, die nicht geöffnet ist, um 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, gibt EACCES möglicherweise auch eine Sperre oder eine Zugriffsverletzung an.
Der Fehler kann auch auftreten, um eine Datei oder ein Verzeichnis umbenannt oder ein vorhandenes Verzeichnis entfernt werden soll.
EBADF
Ungültiges Dateinummer.Es gibt zwei mögliche Ursachen: 1 (null) ist der angegebene Wert kein gültiger Dateideskriptor oder verweist weder auf Datei öffnen an.2) Es wurde versucht, auf eine Datei oder ein Gerät zu schreiben, die für den schreibgeschützten Zugriff geöffnet wurden.EDEADLOCK
Ressourcen deadlock auftreten würde.Das Argument in einer mathematischen Funktion ist nicht in der Domäne der Funktion.EDOM
Mathematisches Argument.EEXIST
Dateien vorhanden sind.Es wurde versucht, eine Datei zu erstellen, die bereits vorhanden.Beispielsweise werden _O_CREATE und die _O_EXCL-Flags in einem _open Aufruf angegeben, aber die benannte Datei ist bereits vorhanden.EILSEQ
Ungültige Bytefolge (z. B. in einer MBCS-Zeichenfolge).EINVAL
Ungültiges Argument.Ein ungültiger Wert war für eines der Argumente an eine Funktion angegeben.Ein Beispiel ist der Wert für den Ursprung eines Dateizeiger zu positionieren (mithilfe eines Aufrufs von fseek) vor dem Anfang der Datei befindet.EMFILE
Zu viele Dateien geöffnet.Nicht mehr Dateideskriptoren sind verfügbar, damit keine weiteren Dateien geöffnet werden.ENOENT
Eine solche Datei oder das Verzeichnis.Die angegebene Datei bzw. das angegebene Verzeichnis ist nicht vorhanden oder kann nicht gefunden werden.Diese Meldung kann auftreten, wenn eine angegebene Datei nicht vorhanden oder eine Komponente eines Pfades kein vorhandenes Verzeichnis angibt.ENOEXEC
Format Leitprogramm Fehler.Es wurde versucht, eine Datei auszuführen, die nicht ausgeführt werden kann, oder ein ungültiges Format der ausführbaren Datei verfügt.ENOMEM
Nicht genügend Core.Nicht genügend Arbeitsspeicher für den Operator versuchten verfügbar.Beispielsweise kann diese Meldung ausgegeben, wenn unzulänglicher Arbeitsspeicher verfügbar ist, einen untergeordneten Prozess ausgeführt werden soll oder ob die erforderlichen Zuordnungen in einem _getcwd Aufruf nicht erfüllt werden kann.ENOSPC
Kein Speicherplatz noch ein Gerät.Nicht mehr Platz für das Schreiben auf dem Gerät verfügbar ist (z. B. wenn der Datenträger voll ist.)ERANGE
Ergebnis zu groß.Ein Argument zu einer mathematischen Funktion mit dem Ergebnis des teilweisen oder vollständigen Verlustes des Schritts im Ergebnis zu groß.Dieser Fehler kann in anderen Funktionen auch auftreten, wenn ein Argument größer als erwartet ist (z. B. wenn der Puffer zu _getcwd-Argument länger als erwartet ist).EXDEV
Referenz zu Dateisystemgrenzen.Es wurde versucht, eine Datei in ein anderes Gerät zu verschieben (mithilfe der Umbenennen-Funktion).STRUNCATE
Eine Kopie Zeichenfolgen oder Verkettung führten eine abgeschnittene Zeichenfolge.Weitere Informationen finden Sie unter _TRUNCATE.
Die folgenden Werte sind für die Kompatibilität mit Posix unterstützt.Sie können erforderliche Werte auf nicht--Posix Systemen.
#define E2BIG [argument list too long]
#define EACCES [permission denied]
#define EADDRINUSE [address in use]
#define EADDRNOTAVAIL [address not available]
#define EAFNOSUPPORT [address family not supported]
#define EAGAIN [resource unavailable try again]
#define EALREADY [connection already in progress]
#define EBADF [bad file descriptor]
#define EBADMSG [bad message]
#define EBUSY [device or resource busy]
#define ECANCELED [operation canceled]
#define ECHILD [no child process]
#define ECONNABORTED [connection aborted]
#define ECONNREFUSED [connection refused]
#define ECONNRESET [connection reset]
#define EDEADLK [resource deadlock would occur]
#define EDESTADDRREQ [destination address required]
#define EDOM [argument out of domain]
#define EEXIST [file exists]
#define EFAULT [bad address]
#define EFBIG [file too large]
#define EHOSTUNREACH [host unreachable]
#define EIDRM [identifier removed]
#define EILSEQ [illegal byte sequence]
#define EINPROGRESS [operation in progress]
#define EINTR [interrupted]
#define EINVAL [invalid argument]
#define EIO [io error]
#define EISCONN [already connected]
#define EISDIR [is a directory]
#define ELOOP [too many synbolic link levels]
#define EMFILE [too many files open]
#define EMLINK [too many links]
#define EMSGSIZE [message size]
#define ENAMETOOLONG [filename too long]
#define ENETDOWN [network down]
#define ENETRESET [network reset]
#define ENETUNREACH [network unreachable]
#define ENFILE [too many files open in system]
#define ENOBUFS [no buffer space]
#define ENODATA [no message available]
#define ENODEV [no such device]
#define ENOENT [no such file or directory]
#define ENOEXEC [executable format error]
#define ENOLCK [no lock available]
#define ENOLINK [no link]
#define ENOMEM [not enough memory]
#define ENOMSG [no message]
#define ENOPROTOOPT [no protocol option]
#define ENOSPC [no space on device]
#define ENOSR [no stream resources]
#define ENOSTR [not a stream]
#define ENOSYS [function not supported]
#define ENOTCONN [not connected]
#define ENOTDIR [not a directory]
#define ENOTEMPTY [directory not empty]
#define ENOTRECOVERABLE [state not recoverable]
#define ENOTSOCK [not a socket]
#define ENOTSUP [not supported]
#define ENOTTY [inappropriate io control operation]
#define ENXIO [no such device or address]
#define EOPNOTSUPP [operation not supported]
#define EOTHER [other]
#define EOVERFLOW [value too large]
#define EOWNERDEAD [owner dead]
#define EPERM [operation not permitted]
#define EPIPE [broken pipe]
#define EPROTO [protocol error]
#define EPROTONOSUPPORT [protocol not supported]
#define EPROTOTYPE [wrong protocol type]
#define ERANGE [result out of range]
#define EROFS [read only file system]
#define ESPIPE [invalid seek]
#define ESRCH [no such process]
#define ETIME [stream timeout]
#define ETIMEDOUT [timed out]
#define ETXTBSY [text file busy]
#define EWOULDBLOCK [operation would block]
#define EXDEV [cross device link]