标准库标头 <cerrno>
来自cppreference.com
此标头原作为 <errno.h> 存在于 C 标准库。
此标头是错误处理库的一部分。
宏
| 展开成 POSIX 兼容的线程局域错误号变量的宏 (宏变量) | |
| E2BIG (C++11) |
参数列表过长 (宏常量) |
| EACCES (C++11) |
禁止访问 (宏常量) |
| EADDRINUSE (C++11) |
地址在使用中 (宏常量) |
| EADDRNOTAVAIL (C++11) |
地址不可用 (宏常量) |
| EAFNOSUPPORT (C++11) |
不支持的地址族 (宏常量) |
| EAGAIN (C++11) |
资源不可用,须重试 (宏常量) |
| EALREADY (C++11) |
连接已在进行 (宏常量) |
| EBADF (C++11) |
无效文件描述符 (宏常量) |
| EBADMSG (C++11) |
无效消息 (宏常量) |
| EBUSY (C++11) |
设备或资源忙 (宏常量) |
| ECANCELED (C++11) |
操作已取消 (宏常量) |
| ECHILD (C++11) |
无子进程 (宏常量) |
| ECONNABORTED (C++11) |
连接被打断 (宏常量) |
| ECONNREFUSED (C++11) |
连接被拒绝 (宏常量) |
| ECONNRESET (C++11) |
连接被重置 (宏常量) |
| EDEADLK (C++11) |
可能发生资源死锁 (宏常量) |
| EDESTADDRREQ (C++11) |
要求目标地址 (宏常量) |
| EDOM |
数学参数在函数定义域外 (宏常量) |
| EEXIST (C++11) |
文件已存在 (宏常量) |
| EFAULT (C++11) |
无效地址 (宏常量) |
| EFBIG (C++11) |
文件过大 (宏常量) |
| EHOSTUNREACH (C++11) |
主机不可抵达 (宏常量) |
| EIDRM (C++11) |
标识符被移除 (宏常量) |
| EILSEQ |
非法字节序列 (宏常量) |
| EINPROGRESS (C++11) |
操作已在进行 (宏常量) |
| EINTR (C++11) |
函数被中断 (宏常量) |
| EINVAL (C++11) |
无效参数 (宏常量) |
| EIO (C++11) |
I/O 错误 (宏常量) |
| EISCONN (C++11) |
套接字已连接 (宏常量) |
| EISDIR (C++11) |
此项目是目录 (宏常量) |
| ELOOP (C++11) |
符号链接级别过多 (宏常量) |
| EMFILE (C++11) |
文件描述符值过大 (宏常量) |
| EMLINK (C++11) |
链接过多 (宏常量) |
| EMSGSIZE (C++11) |
消息过大 (宏常量) |
| ENAMETOOLONG (C++11) |
文件名过长 (宏常量) |
| ENETDOWN (C++11) |
网络已关闭 (宏常量) |
| ENETRESET (C++11) |
连接被网络打断 (宏常量) |
| ENETUNREACH (C++11) |
网络不可达 (宏常量) |
| ENFILE (C++11) |
系统中打开文件过多 (宏常量) |
| ENOBUFS (C++11) |
无缓冲空间可用 (宏常量) |
| ENODATA (C++11) (C++23 中弃用) |
流头部读取队列中无消息 (宏常量) |
| ENODEV (C++11) |
设备不存在 (宏常量) |
| ENOENT (C++11) |
文件或目录不存在 (宏常量) |
| ENOEXEC (C++11) |
可执行文件格式错误 (宏常量) |
| ENOLCK (C++11) |
无可用锁 (宏常量) |
| ENOLINK (C++11) |
链接已切断 (宏常量) |
| ENOMEM (C++11) |
空间不足 (宏常量) |
| ENOMSG (C++11) |
无所需类型的消息 (宏常量) |
| ENOPROTOOPT (C++11) |
协议不可用 (宏常量) |
| ENOSPC (C++11) |
设备无剩余空间 (宏常量) |
| ENOSR (C++11) (C++23 中弃用) |
无流资源 (宏常量) |
| ENOSTR (C++11) (C++23 中弃用) |
此项目非流 (宏常量) |
| ENOSYS (C++11) |
不支持的函数 (宏常量) |
| ENOTCONN (C++11) |
未连接的套接字 (宏常量) |
| ENOTDIR (C++11) |
此项目非目录 (宏常量) |
| ENOTEMPTY (C++11) |
目录非空 (宏常量) |
| ENOTRECOVERABLE (C++11) |
状态不可恢复 (宏常量) |
| ENOTSOCK (C++11) |
此项目非套接字 (宏常量) |
| ENOTSUP (C++11) |
不支持 (宏常量) |
| ENOTTY (C++11) |
不适合的 I/O 控制操作 (宏常量) |
| ENXIO (C++11) |
设备或地址不存在 (宏常量) |
| EOPNOTSUPP (C++11) |
套接字不支持的操作 (宏常量) |
| EOVERFLOW (C++11) |
值过大而无法存入数据类型 (宏常量) |
| EOWNERDEAD (C++11) |
先前拥有者已死 (宏常量) |
| EPERM (C++11) |
操作不允许 (宏常量) |
| EPIPE (C++11) |
管道损坏 (宏常量) |
| EPROTO (C++11) |
协议错误 (宏常量) |
| EPROTONOSUPPORT (C++11) |
不支持的协议 (宏常量) |
| EPROTOTYPE (C++11) |
错误的套接字协议类型 (宏常量) |
| ERANGE |
结果过大 (宏常量) |
| EROFS (C++11) |
只读文件系统 (宏常量) |
| ESPIPE (C++11) |
非法寻位 (宏常量) |
| ESRCH (C++11) |
无此进程 (宏常量) |
| ETIME (C++11) (C++23 中弃用) |
流 ioctl() 超时 (宏常量) |
| ETIMEDOUT (C++11) |
连接超时 (宏常量) |
| ETXTBSY (C++11) |
文本文件忙 (宏常量) |
| EWOULDBLOCK (C++11) |
操作可能阻塞 (宏常量) |
| EXDEV (C++11) |
跨设备链接 (宏常量) |
注解
头文件 <cerrno> 基于 C 标准库头文件 errno.h,然而 C++ 主要从 POSIX 标准,而非 C 标准库采用 <cerrno> 所定义的宏。
概要
#define errno /* 见描述 */ #define E2BIG /* 见描述 */ // 独立 #define EACCES /* 见描述 */ // 独立 #define EADDRINUSE /* 见描述 */ // 独立 #define EADDRNOTAVAIL /* 见描述 */ // 独立 #define EAFNOSUPPORT /* 见描述 */ // 独立 #define EAGAIN /* 见描述 */ // 独立 #define EALREADY /* 见描述 */ // 独立 #define EBADF /* 见描述 */ // 独立 #define EBADMSG /* 见描述 */ // 独立 #define EBUSY /* 见描述 */ // 独立 #define ECANCELED /* 见描述 */ // 独立 #define ECHILD /* 见描述 */ // 独立 #define ECONNABORTED /* 见描述 */ // 独立 #define ECONNREFUSED /* 见描述 */ // 独立 #define ECONNRESET /* 见描述 */ // 独立 #define EDEADLK /* 见描述 */ // 独立 #define EDESTADDRREQ /* 见描述 */ // 独立 #define EDOM /* 见描述 */ // 独立 #define EEXIST /* 见描述 */ // 独立 #define EFAULT /* 见描述 */ // 独立 #define EFBIG /* 见描述 */ // 独立 #define EHOSTUNREACH /* 见描述 */ // 独立 #define EIDRM /* 见描述 */ // 独立 #define EILSEQ /* 见描述 */ // 独立 #define EINPROGRESS /* 见描述 */ // 独立 #define EINTR /* 见描述 */ // 独立 #define EINVAL /* 见描述 */ // 独立 #define EIO /* 见描述 */ // 独立 #define EISCONN /* 见描述 */ // 独立 #define EISDIR /* 见描述 */ // 独立 #define ELOOP /* 见描述 */ // 独立 #define EMFILE /* 见描述 */ // 独立 #define EMLINK /* 见描述 */ // 独立 #define EMSGSIZE /* 见描述 */ // 独立 #define ENAMETOOLONG /* 见描述 */ // 独立 #define ENETDOWN /* 见描述 */ // 独立 #define ENETRESET /* 见描述 */ // 独立 #define ENETUNREACH /* 见描述 */ // 独立 #define ENFILE /* 见描述 */ // 独立 #define ENOBUFS /* 见描述 */ // 独立 #define ENODEV /* 见描述 */ // 独立 #define ENOENT /* 见描述 */ // 独立 #define ENOEXEC /* 见描述 */ // 独立 #define ENOLCK /* 见描述 */ // 独立 #define ENOLINK /* 见描述 */ // 独立 #define ENOMEM /* 见描述 */ // 独立 #define ENOMSG /* 见描述 */ // 独立 #define ENOPROTOOPT /* 见描述 */ // 独立 #define ENOSPC /* 见描述 */ // 独立 #define ENOSYS /* 见描述 */ // 独立 #define ENOTCONN /* 见描述 */ // 独立 #define ENOTDIR /* 见描述 */ // 独立 #define ENOTEMPTY /* 见描述 */ // 独立 #define ENOTRECOVERABLE /* 见描述 */ // 独立 #define ENOTSOCK /* 见描述 */ // 独立 #define ENOTSUP /* 见描述 */ // 独立 #define ENOTTY /* 见描述 */ // 独立 #define ENXIO /* 见描述 */ // 独立 #define EOPNOTSUPP /* 见描述 */ // 独立 #define EOVERFLOW /* 见描述 */ // 独立 #define EOWNERDEAD /* 见描述 */ // 独立 #define EPERM /* 见描述 */ // 独立 #define EPIPE /* 见描述 */ // 独立 #define EPROTO /* 见描述 */ // 独立 #define EPROTONOSUPPORT /* 见描述 */ // 独立 #define EPROTOTYPE /* 见描述 */ // 独立 #define ERANGE /* 见描述 */ // 独立 #define EROFS /* 见描述 */ // 独立 #define ESPIPE /* 见描述 */ // 独立 #define ESRCH /* 见描述 */ // 独立 #define ETIMEDOUT /* 见描述 */ // 独立 #define ETXTBSY /* 见描述 */ // 独立 #define EWOULDBLOCK /* 见描述 */ // 独立 #define EXDEV /* 见描述 */ // 独立
缺陷报告
下列更改行为的缺陷报告追溯地应用于以前出版的 C++ 标准。
| 缺陷报告 | 应用于 | 出版时的行为 | 正确行为 |
|---|---|---|---|
| LWG 288 | C++98 | <cerrno> 中未定义宏 EILSEQ
|
已定义 |