命名空间
变体
操作

错误号

来自 cppreference.cn
< c‎ | 错误

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

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

目录

[编辑] 注意

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

[编辑] 示例

#include <errno.h>
#include <math.h>
#include <stdio.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

[编辑] 参考

  • C23 标准 (ISO/IEC 9899:2024)
  • 7.5/2 错误 <errno.h> (p: 待定)
  • C17 标准 (ISO/IEC 9899:2018)
  • 7.5/2 错误 <errno.h> (p: 待定)
  • 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++ 文档 用于 错误号