Perché ENOENT significa "Nessun file o directory"?


507

Cosa ENTsignifica ENOENT?

Non dovrebbe essere l'errore:

Nessun file o directory con questo nome

appena chiamato da ENOFILE?

C'è qualche storia o ragione?

Risposte:


788

È un'abbreviazione di Error NO ENTry (o Error NO ENTity) e può effettivamente essere utilizzata per più di file / directory.

È abbreviato perché i compilatori C all'alba dei tempi non supportavano più di 8 caratteri nei simboli.


28
"può effettivamente essere utilizzato per più di file / directory." - tranne quando si desidera che il codice venga
amn

12
Sembra che sarebbe più prezioso per gli utenti se l'errore fosse esplicito piuttosto che risparmiare 8 caratteri di spazio. Qualche idea sul perché questo potrebbe essere il caso?
Brady Dowling

57
@BradyDowling Perché i compilatori C all'alba dei tempi non supportavano più di 8 caratteri nei simboli.
Qualche programmatore, amico, l'

15
Il commento di @ Someprogrammerdude ha spiegato la maggior parte delle mie domande (scrupoli) sulle convenzioni di denominazione in C.
Jackson,

3
@Jackson come ad esempio command not foundin child_process del nodo . * piange *.
dwelle,

122

È semplicemente "Nessuna voce di directory". Poiché le voci della directory possono essere directory o file (o collegamenti simbolici, socket, pipe o dispositivi), il nome ENOFILEsarebbe stato troppo limitato nel suo significato.


27
Symlink, socket, pipe e dispositivi sono tutti file, così come le directory. ENOFILE sarebbe altrettanto ampio o stretto nel suo significato di ENOENT.
Guido Flohr,
Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.