zoukankan      html  css  js  c++  java
  • <cerrno>

    文件头名称:

      <cerrno>(errno.h)

    文件头描述:

      文件内定义了如下的宏

     errno
    最后一个错误代码

     

      

    加上其他至少的三个宏常量:EDOMERANGE EILSEQ


    宏定义                       所需要的头文件

    errno                           <cerrno> 


    这个宏定义可扩展为一个可修改的整型左值(lvalue of type int);所以,它能被程序读取和修改;errno在程序启动时被设置为0,并且任何C标准库中的函数能够修改成非0的其他值,一般用于标记特定类别的错误(一般库函数一旦设置完后就不会再次修改了)一个程序同样可以修改这个值,如果这个变量是用于在库函数调用后的错误检查,那它应该在被调用前被程序预设置(因为任何对库函数的提前调用都会改变这个值)在声明了errno 的相同头文件内至少声明了如下非0值的宏变量

    宏名称 当errno 值被设置为此值时意味着什么
    EDOM 域(Domain)错误:一些数学函数只为某些实际价值( certain real values )而定义,这就称之为域。举个例子,求平方根的函数的域为非负数,所以当 sqrt 传入了一个负数作为参数被调用则 sqrt 函数就会设置errno为EDOM;
    ERANGE 范围错误:能够表示一个范围变量的值是有限的。举个例子,数学函数中的 pow 可以轻易的被浮点型的数据给计算的超出范围,或者函数 strtod 会遭遇一串数的位数超出了这个值能够表达的范围。在这些情况下,errno会设置为ERANGE;
    EILSEQ 非法序列:多字节的字符序列可能有有限个有效的序列。当一个多字节的集合被例如 mbrtowc 函数转换的时,errno会在遇到无效序列时设置为EILSEQ;

    这些标准库中的函数可能设置errno为任何值(并不止上面列出的简少几个值),特定的函数可能会在这个头文件中定义额外的名字;c++ 11扩展中定义的基本值的集合(basic set of values)需要在这个头文件中被声明,其中包括许多在POSIX环境中也可使用的名称,errno值的总数增加到了78个,而且这个数字在不断增长中。要查看完整的列表,请参阅  errc 。这些特殊的错误信息与 errno 值之间的关系可以使用 strerror 函数获得 或者 直接使用 perror 函数打印输出;在C++中errno 通常被声明为一个宏,但是在C中则可能作为一个int对象实现与外部链接;


    这个库支持多线程,每一个线程都拥有自己区域的errno值,这是一个在C11和C++11的库兼容方面的需求。

  • 相关阅读:
    vue样式的动态绑定
    vue表单选项框
    vue简单逻辑判断
    vue的选项卡功能
    简单vue的监听属性(单位换算)
    简单的Vue计算属性
    vue.js 入门
    head元素的内容
    HTML实体
    CSS元素的盒类型
  • 原文地址:https://www.cnblogs.com/leihui/p/5068699.html
Copyright © 2011-2022 走看看