Warum bedeutet ENOENT „Keine solche Datei oder Verzeichnis“?

Lesezeit: 2 Minuten

Benutzeravatar von mingchaoyan
mingchaoyan

Was bedeutet die ENT bedeuten hinein ENOENT?

Sollte der Fehler nicht:

Datei oder Verzeichnis existiert nicht

nur genannt werden durch ENOFILE?

Gibt es eine Geschichte oder einen Grund?

Es ist eine Abkürzung für Error NO ENTry (oder Error NO ENTity) und kann tatsächlich für mehr als nur Dateien/Verzeichnisse verwendet werden.

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

  • “kann tatsächlich für mehr als Dateien/Verzeichnisse verwendet werden.” — außer wenn Sie Ihren Code in Linux einbinden möchten: lkml.org/lkml/2012/12/23/75

    – Armen Michaeli

    3. März 2017 um 13:37 Uhr


  • Es scheint für Benutzer wertvoller zu sein, wenn der Fehler explizit wäre, anstatt 8 Zeichen Platz zu sparen. Irgendeine Idee, warum dies der Fall sein könnte?

    – Brady Dowling

    7. April 2017 um 21:48 Uhr

  • @BradyDowling Weil C-Compiler zu Beginn der Zeit nicht mehr als 8 Zeichen in Symbolen unterstützten.

    – Irgendein Programmierer-Typ

    8. April 2017 um 5:11 Uhr

  • Der Kommentar von @Someprogrammerdude erklärte die meisten meiner Fragen (Sorgen) zu C-Namenskonventionen.

    – Jackson

    22. Dezember 2017 um 0:39 Uhr

  • Diese Antwort behauptet, dass sie „für mehr“ verwendet werden kann. Was sind diese anderen Dinge konkret?

    – Jackson

    22. Dezember 2017 um 0:41 Uhr

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

  • Symlinks, Sockets, Pipes und Geräte sind alle Dateien, ebenso wie Verzeichnisse. ENOFILE wäre in seiner Bedeutung genauso weit oder eng wie ENOENT.

    – Guido Flohr

    2. Mai 2017 um 9:23 Uhr

  • Auf jeden Fall kann man mit Sicherheit sagen, dass “ent” für dasselbe steht in ENOENT wie es in struct dirent.

    – Steve Summit

    5. Februar 2021 um 19:11 Uhr

Benutzeravatar von Dror
Dror

Eine vollständige Liste aller Codes und eine bessere Beschreibung dessen, was jeder bedeutet, finden Sie unter Fehlernr.h
Dies ist eine Include-Datei, die Teil der C-Standardbibliothek ist, und die Kommentare verdeutlichen, worum es bei dem Fehler geht. In diesem Fall:

#define ENOENT 2 /* Keine solche Datei oder Verzeichnis */

1428320cookie-checkWarum bedeutet ENOENT „Keine solche Datei oder Verzeichnis“?

This website is using cookies to improve the user-friendliness. You agree by using the website further.

Privacy policy