errno常数
#include <errno.h>
备注
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 系统需要的值。
#define E2BIG [argument list too long]
#define EACCES [permission denied]
#define EADDRINUSE [address in use]
#define EADDRNOTAVAIL [address not available]
#define EAFNOSUPPORT [address family not supported]
#define EAGAIN [resource unavailable try again]
#define EALREADY [connection already in progress]
#define EBADF [bad file descriptor]
#define EBADMSG [bad message]
#define EBUSY [device or resource busy]
#define ECANCELED [operation canceled]
#define ECHILD [no child process]
#define ECONNABORTED [connection aborted]
#define ECONNREFUSED [connection refused]
#define ECONNRESET [connection reset]
#define EDEADLK [resource deadlock would occur]
#define EDESTADDRREQ [destination address required]
#define EDOM [argument out of domain]
#define EEXIST [file exists]
#define EFAULT [bad address]
#define EFBIG [file too large]
#define EHOSTUNREACH [host unreachable]
#define EIDRM [identifier removed]
#define EILSEQ [illegal byte sequence]
#define EINPROGRESS [operation in progress]
#define EINTR [interrupted]
#define EINVAL [invalid argument]
#define EIO [io error]
#define EISCONN [already connected]
#define EISDIR [is a directory]
#define ELOOP [too many synbolic link levels]
#define EMFILE [too many files open]
#define EMLINK [too many links]
#define EMSGSIZE [message size]
#define ENAMETOOLONG [filename too long]
#define ENETDOWN [network down]
#define ENETRESET [network reset]
#define ENETUNREACH [network unreachable]
#define ENFILE [too many files open in system]
#define ENOBUFS [no buffer space]
#define ENODATA [no message available]
#define ENODEV [no such device]
#define ENOENT [no such file or directory]
#define ENOEXEC [executable format error]
#define ENOLCK [no lock available]
#define ENOLINK [no link]
#define ENOMEM [not enough memory]
#define ENOMSG [no message]
#define ENOPROTOOPT [no protocol option]
#define ENOSPC [no space on device]
#define ENOSR [no stream resources]
#define ENOSTR [not a stream]
#define ENOSYS [function not supported]
#define ENOTCONN [not connected]
#define ENOTDIR [not a directory]
#define ENOTEMPTY [directory not empty]
#define ENOTRECOVERABLE [state not recoverable]
#define ENOTSOCK [not a socket]
#define ENOTSUP [not supported]
#define ENOTTY [inappropriate io control operation]
#define ENXIO [no such device or address]
#define EOPNOTSUPP [operation not supported]
#define EOTHER [other]
#define EOVERFLOW [value too large]
#define EOWNERDEAD [owner dead]
#define EPERM [operation not permitted]
#define EPIPE [broken pipe]
#define EPROTO [protocol error]
#define EPROTONOSUPPORT [protocol not supported]
#define EPROTOTYPE [wrong protocol type]
#define ERANGE [result out of range]
#define EROFS [read only file system]
#define ESPIPE [invalid seek]
#define ESRCH [no such process]
#define ETIME [stream timeout]
#define ETIMEDOUT [timed out]
#define ETXTBSY [text file busy]
#define EWOULDBLOCK [operation would block]
#define EXDEV [cross device link]