C++ 头文件连串(ios)

3 ios_base类

以此类很独特,它是basic_ios类模版的基类,并且它的构造函数是私家的
那就象征它在规划之初正是里面使用,只用于派生,不能够被用户申明使用。

4.1 io_errc 枚举类

以此枚举类定义了input/output 的一无所能意况。
C++标准只供给该枚举类定义stream枚举,但实际的库能够自个儿实现额外的枚举。

4.2 make_error_code函数

该函数从给定的io_errc枚举创设出错误码(error_code对象)。

二.壹 成员类型

  • char_type : 字符类型,即首先个模版参数。
  • char_traits : 萃取器,即第二个模版参数(暗中认可为位于<
    string >头文件内的char_traits萃取器
    )。

2 basic_ios模版

概念那一个基类模版应该是出于可重用的目的。

3.2 本地化函数

  • imbue : “灌入”区域设置。
  • getloc : 再次来到当前区域设置。

贰.4 格式化函数

  • coptfmt : 将给定的basic_ios对象的中间格式copy给本人。
  • fill
    重回、设置填充字符(当设定的肥瘦超过实际出口宽度时,才会出现填充处境)。

3.4.2 event_callback类型

ios_base以回调函数的情势来支撑事件。
回调函数必须满足以下项目void (*event_callback) (event en, ios_base& obj, int index);
其中obj是触发事件的stream对象,index是登记回调函数时的流传的index参数。

3.5 其他

3.五.二 其余成员类型

  • fmtflags : 流格式化标志符类型。
  • iostate : 流状态标志符类型。
  • openmode : 流开拓格局标记符类型。
  • seekdir : 流恒定方向标志符类型。

五 Manipulators(全局函数)

  • boolalpha
    bool变量字符化(包罗输入输出),即一->true,0->false。
  • showbase : 输出时,呈现数字的放到基数,即十6进制->0x,
    捌进制->0, 10进制无前置基数。
  • showpoint : 彰显浮点数的小数点。
  • showpos : 展现正整数的“+”号。
  • skipws : 跳过全体前置的white-space。
  • unitbuf : 每一回向流插入内容时,输出缓冲区的情节。
  • uppercase : 全数小写字母都用小写替代。
  • dec、hex、oct : 分别用十进制、十陆进制、八进制来表示整数。
  • fixed、scientific
    分别用固定点小数法、科学计数法来代表浮点数。
  • internal、left、right
    分别使数字居中、左对齐、右对齐,在那之中居中时会根据情况分外的插入填充字符。

三.伍.一 其余函数

  • sync_with_stdio(静态)
    是或不是同步C++输入输出流和C输入输出对象(stdin、stdout、stderr)。

叁.4 事件帮衬

ios_base援救事件这一定义,但只援助有限的事件。

4 Error Reporting

该头文件也提供了迟早的错误处理作用。

三.⑤.三 别的成员类

  • failure
    继承自std::exception的百般类,用来作为输入输出流的基本极度类。
  • Init : 多少个正式流实例化的控制器

二.五 其余函数

  • exceptions
    重返、设置非凡掩码(设置之后,对应的意况标记位被置一时,会抛出特别)。
  • imbue : 将locale灌输进流,那一个调用会触发imbue_event事件。
  • tie : 重返先前的涉嫌输出流、设置新的涉及输出流。”The tied
    stream
    is an output stream object which is flushed before each
    i/o operation in this stream object.”
    也正是说,每一次我的输入输出操作爆发前,该tied的流都回把缓冲区的剧情输出。
    暗许景况下,标准cin和cerr流与cout相关连,所以每趟在键盘输入时,“黑框”都回把输入彰显出来。
  • rdbuf : 返回、设置basic_ios内部的stream buffer。
  • narrow
    将盛传字符(平时是宽字符)窄化(narrow)成本人模版类的char_type类型字符。
  • widen
    将盛传字符宽化(widen)成本身模版类的char_type类型字符(经常是宽字符)。

4.3 make_error_condition函数

该函数从给定的io_errc枚举创设出错误情形(error_condition对象)。

二.三 状态标记函数

  • good : 检查测试流状态是或不是为good。
  • eof : 检查评定end-of-file 标记位是或不是被置为1,即是或不是到文件末尾
  • fail : 检验 fail标记位 大概bad标记位是还是不是被置为一,即原先是还是不是有操作退步
  • bad : 检查测试bad 标记位是还是不是被置为一,
    开始是否有操作导致了严重错误(致使流的完整性受到损坏)。
  • operator !、operator bool
    检查实验流的境况是还是不是平常,便是不是有操作失利或促成了严重错误(fail or
    bad)。
  • rdstate、setstate : 再次来到恐怕设置有着意况标记位。
  • clear : 清楚境况标记位。

1 简介

作者们都知道,平日常用的那多少个标准流,诸如iostream、ofstream、ifstream等等,其实都以呼应的basic_XXX模版的实例类。
而那么些basic_XXX类模版又都以接轨自同3个基类模版—-basic_ios

3.4.1 event枚举类

  • copyfmt_event : 当调用copyfmt时发生。
  • erase_event : 当stream的析构器被调用时。
  • imbue_event : 当调用ios_base::imbue时。

2.2 构造器

该模版的构造函数只需求多少个品种:charT、traits。
二个是字符类型,另叁个是字符萃取器,两者都只和字符有关。

3.3 有关internal array的函数

该类内部维护了二个internal extensible
array作为通用数组,并且定义了四个国有函数帮衬用户采用它们。

  • xalloc(静态) : 重临贰个extensible array的新下标。
  • iword : 重返数组中对应给定下标的long成分。
  • pword : 再次来到数组中给定下标对应的成分指针(void*)。

4.4 iostream_category函数

归来贰个error_category对象,该对象类型与io_errc枚举类对应的error_condition的错误连串相关联。

三.一 格式化函数

  • flags : 再次来到恐怕重复设置有着格式标记符。
  • setf : 设置特定项目的格式标记符。
  • unsetf : 清除特定的格式标记符。
  • precision : 设置浮点数精度
  • width : 设置域宽

叁.四.3 注册事件回调函数

  • register_callback