为什么ENOENT表示“没有这样的文件或目录”?


507

是什么ENT意思ENOENT

错误不应该:

没有相应的文件和目录

只是由 ENOFILE

有什么故事或理由吗?

Answers:


787

它是Error NO ENTry(或Error NO ENTity)的缩写,实际上可用于多个文件/目录。

之所以缩写,是因为C编译器在黎明时不支持超过8个字符的符号。


26
“实际上可以用于多个文件/目录。” -当你想拥有你的代码,除了合并到Linux上:lkml.org/lkml/2012/12/23/75
AMN

12
似乎如果错误是明确的,而不是节省8个字符的空间,对用户来说将更有价值。知道为什么会这样吗?
Brady Dowling

57
@BradyDowling因为在黎明时C编译器不支持超过8个字符的符号。
一些程序员哥们,2017年

15
@Someprogrammerdude的评论解释了我有关C命名约定的大多数问题(疑问)。
杰克逊

3
@Jackson,例如command not found在节点的child_process中。*哭*。
居住

122

只是“没有这样的目录条目”。由于目录条目可以是目录或文件(或符号链接,套接字,管道或设备),因此名称ENOFILE的含义可能太狭窄了。


27
符号链接,套接字,管道和设备都是文件,目录也是如此。ENOFILE的含义与ENOENT一样宽或窄。
Guido Flohr
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.