美文网首页
C标准库——

C标准库——

作者: Jack_6a46 | 来源:发表于2018-10-08 21:34 被阅读0次

    C 标准库的errno.h头文件定义了整形变量 errno, 它是通过系统调用设置的,在错误事件中的某些库函数表明了什么发生了错误。
    在程序启动时,errno设置为零,C标准库中的特定函数修改它的值为一些非零值以表示某些类型的错误。
    eerno.h头文件也定义了一系列表示不同错误代码的宏,这些宏应扩展为类型为int的整数常量表达式。

    下面列出了头文件errno.h中定义的宏:
    extern int errno
    EDOM Domain Error
    ERANGE Range Error

    extern int errno : 是通过系统调用设置的,在错误事件中的某些库函数表明了什么发生了错误。

    C库宏EDOM表示一个域错误,它在输入参数超出数学函数定义的域时发生, errno被设置为EDOM。

    声明

    #define EDOM some_value

    void main()
    {
    double val;
    errno = 0;
    val = sqrt(-10);
    if(errno == EDOM)
    {
        printf("Invalid value.\n");
    }
    else
    {
        printf("Valid value.\n");
    }
    getchar();
    }
    

    C库宏ERANGE表示一个范围错误,它在输入参数超出数学函数定义的范围时发生,errno被设置为ERANGE.

    void main()
    {
    double val;
    double result;
    val = -1.0;
    result = log(val);
    if(errno == ERANGE)
        printf("log(%f) is out of range.\n", val);
    else
        printf("log(%f) = %f\n", val, result);
    getchar();
    }
    

    相关文章

      网友评论

          本文标题:C标准库——

          本文链接:https://www.haomeiwen.com/subject/kffsaftx.html