709 Stimmen

Warum bedeutet ENOENT "Keine solche Datei oder Verzeichnis"?

Was bedeutet das ENT in ENOENT?

Sollte der Fehler nicht einfach genannt werden:

Keine solche Datei oder Verzeichnis

Sollte es nicht einfach ENOFILE heißen?

Gibt es eine Geschichte oder einen Grund dafür?

1110voto

Some programmer dude Punkte 377919

Es handelt sich um eine Abkürzung für Fehler KEINEN EINTRAG (oder Fehler KEINE ENTität), und kann tatsächlich für mehr als Dateien/Verzeichnisse verwendet werden.

Es ist abgekürzt, weil C-Compiler am Anfang der Zeit nicht mehr als 8 Zeichen in Symbolen unterstützten.

146voto

Roland Illig Punkte 38839

Es ist einfach "Kein solcher Verzeichniseintrag". Da Verzeichniseinträge Verzeichnisse oder Dateien sein können (oder Symlinks, oder Sockets, oder Pipes, oder Geräte), wäre der Name ENOFILE zu eng in seiner Bedeutung gewesen.

9voto

Dror Punkte 2350

Für eine vollständige Liste aller Codes und eine bessere Beschreibung dessen, was jeder bedeutet, siehe errno.h. Dies ist eine Include-Datei, die Teil der C-Standardbibliothek ist, und die Kommentare klären, worum es sich bei dem Fehler handelt. In diesem Fall:

define ENOENT 2 /* keine Datei oder Verzeichnis vorhanden */

1voto

Mark Punkte 1523

In Linux (Ubuntu)

Datei: /usr/include/asm-generic/errno-base.h
6: #define  ENOENT       2  /* Datei oder Verzeichnis nicht gefunden */
7:

https://man7.org/linux/man-pages/man3/errno.3.html

errno 2

Rückgabe:

ENOENT 2 Datei oder Verzeichnis nicht gefunden

Open Group: https://pubs.opengroup.org/onlinepubs/009604599/functions/xsh_chap02_03.html

[ENOENT]
Datei oder Verzeichnis nicht gefunden. Ein Bestandteil eines angegebenen Pfades existiert nicht, oder der Pfad ist ein leerer String.

Glibc:
https://www.gnu.org/software/libc/manual/html_node/Error-Codes.html

Makro: int ENOENT

"Datei oder Verzeichnis nicht gefunden." Dies ist ein "Datei existiert nicht"-Fehler für gewöhnliche Dateien, die in Kontexten referenziert werden, in denen sie

erwartet werden, bereits vorhanden zu sein.

CodeJaeger.com

CodeJaeger ist eine Gemeinschaft für Programmierer, die täglich Hilfe erhalten..
Wir haben viele Inhalte, und Sie können auch Ihre eigenen Fragen stellen oder die Fragen anderer Leute lösen.

Powered by:

X