命名空间
变体
操作

错误号

来自 cppreference.com
< c‎ | error

<errno.h> 中定义的每个宏都扩展为一个类型为 int 的整型常量表达式,并具有唯一的正值。以下常量由 ISO C 定义。实现可以定义更多常量,只要它们以 'E' 后跟数字或大写字母开头。

在头文件 <errno.h> 中定义
EDOM
数学函数参数超出域
(宏常量)
EILSEQ
(C95)
非法字节序列
(宏常量)
ERANGE
结果太大
(宏常量)

内容

[编辑] 注释

许多额外的 errno 常量由 POSIX 定义 以及由 C++ 标准库 定义,并且各个实现可能定义更多常量,例如 Linux 上的 errno(3) 或 BSD 和 OS X 上的 intro(2)

[编辑] 示例

#include <stdio.h>
#include <math.h>
#include <errno.h>
#include <string.h>
 
int main(void)
{
    errno = 0;
    printf("log(-1.0) = %f\n", log(-1.0));
    printf("%s\n\n",strerror(errno));
 
    errno = 0;
    printf("log(0.0)  = %f\n", log(0.0));
    printf("%s\n",strerror(errno));
}

可能的输出

log(-1.0) = nan
Numerical argument out of domain
 
log(0.0)  = -inf
Numerical result out of range

[编辑] 参考文献

  • C11 标准 (ISO/IEC 9899:2011)
  • 7.5/2 错误 <errno.h> (p: 205)
  • C99 标准 (ISO/IEC 9899:1999)
  • 7.5/2 错误 <errno.h> (p: 186)
  • C89/C90 标准 (ISO/IEC 9899:1990)
  • 4.1.3 错误 <errno.h>

[编辑] 参见

宏,扩展为与 POSIX 兼容的线程本地错误号变量
(宏变量) [编辑]
将与当前错误对应的字符字符串显示到 stderr
(函数) [编辑]
返回给定错误代码的文本版本
(函数) [编辑]
C++ 文档 针对 错误号