errno 值是常数分配给 errno 在各种错误状态的情况下。
ERRNO.H 包含 errno 值的定义。 但是,并非在 ERRNO.H 提供的所有定义用于 32 位 windows 操作系统。 在某些 ERRNO.H 的值存在保持与操作系统 UNIX 系列的兼容性。
在 32 位 windows 操作系统的 errno 值是的子集 errno 中 XENIX 系统。 因此, errno 值不一定是实际错误代码返回从 windows 操作系统调用的相同。 访问实际操作系统错误代码,使用 _doserrno 变量,包含该值。
下面 errno 值支持:
ECHILD
-
未给出的过程。
EAGAIN
-
不处理。 尝试创建新进程失败,因为没有处理槽,或者没有足够的内存,或者最大嵌套级别已到达。
E2BIG
-
太长的参数列表。
EACCES
-
权限被拒绝。 文件的权限集不允许指定的访问。 此错误指示尝试访问一个文件 (或者,在某些情况下,一个目录) 将与文件属性不兼容的方法。
例如,该错误,当尝试从不处于打开状态时的文件读取,打开要编写的现有只读文件,或打开目录而不是文件。 在 MS-DOS 操作系统版本 3.0 下及更高版本中, EACCES 还可以指示锁定的或共享的冲突。
该错误还可能生成用于写入文件或目录重命名或移除现有目录。
EBADF
-
文件号错误。 有两种原因:1) 中指定的文件描述符不是有效的值也不引用打开文件。 2) 尝试对进行只读访问或设备编写打开的文件。
EDEADLOCK
-
资源会发生死锁。 为算术函数的参数不在函数的字段。
EDOM
-
算术参数。
EEXIST
-
文件存在。 尝试创建已存在的文件。 例如, _O_CREAT 和 _O_EXCL 标志。 _open 指定调用,但是,名称文件已存在。
EILSEQ
-
非法字节序列 (例如,在 MBCS 字符串)。
EINVAL
-
无效参数。 无效值为之一传递给定函数。 例如,对于原点给定的值,在确定文件指针 (传递给 fseek的调用) 是文件的开头之前。
EMFILE
-
许多打开文件。 没有其他文件描述符不可用,因此,不能打开没有其他文件。
ENOENT
-
如果没有这样的文件或目录。 使用指定的文件或目录不存在或无法找到。 此消息会发生,只要已指定的文件不存在或路径的元素不指定某个现有目录。
ENOEXEC
-
exec 格式错误。 尝试执行不可执行文件或具有无效可执行 (pe) 文件格式的文件。
ENOMEM
-
没有足够的核心。 没有足够的内存为所尝试的运算符可用。 例如,此消息时,会发生内存不足可用于执行子进程时,或者,在 _getcwd 的分配请求调用时无法得到满足。
ENOSPC
-
在计算机预留的没有空格。 编写没有其他空间不在计算机 (例如,那么,当磁盘已满时)。
ERANGE
-
太大结果。 为算术函数的参数太大,从而部分或完全有效位丢失中的位数。 此错误在其他功能,也可能作为参数比预期大时 (例如,那么,当对 _getcwd 的 缓冲区 参数比预期长) 时。
EXDEV
-
跨模式链接。 尝试将文件移动到不同的计算机 (使用 重命名 函数)。
STRUNCATE
-
字符串复制或串联生成一个被截断的字符串。 请参见 _TRUNCATE。
以下值对使用 POSIX 的兼容性支持。 它们是在非 POSIX 系统需要的值。