// <ios>
// <iosfwd>
typedef basic_ios<char, char_traits<char> > ios;

ios 类是所有使用窄字符(Narrow character,即 char 类型)的流的基类。

  • iosstd::basic_ios 类模板的一个实例化(Instantiation),对应的模板参数为:

    模板参数 定义 注解
    charT char 在类模板内部,使用其别名为 char_type 的成员类型。
    traits char_traits<char> 在类模板内部,使用其别名为 traits_type 的成员类型。

    std::basic_ios 及它的基类 std::ios_base 两者都定义了一个流的组成部分,这些组成部分不受当前流具体是输入流还是输出流影响,ios_base 中给出的成员(函数)甚至不受模板参数(如:字符类型及特征相关)影响,而 basic_ios 中的成员则依赖这些模板参数。

    ​当前类在基类 ios_base 的基础上新增的内容:
      范畴 成员函数 介绍
    格式化 填充字符 fill 用来填充被格式化字段到指定字段长度(Field width)的字符。
    状态 错误状态 rdstate
    setstate
    clear
    当前流的错误状态。可以通过调用 goodeoffailbad 返回各个值。查看成员类型 iostate
    异常掩码 exceptions 用来表示具体是哪个失败(Failure)异常被抛出。
    其它 被绑定的流 tie 指向在每次对当前流进行 I/O 操作之前会被刷新缓存(Flushed)的(另一个)输出流。
    流缓存 rdbuf 指向关联的 streambuf 对象,该对象负责所有的输入、输出操作。
  • char_type char
    traits_type char_traits<char>
    int_type int
    pos_type streampos
    off_type streamoff

    以及从基类 ios_base 中继承过来的类型:

    event 用来指明事件类型的类型
    event_callback 事件回调函数类型
    fmtflags 用来表示流格式化标志的类型
    iostate 用来表示流状态标志的类型
    openmode 用来表示流打开方式的类型
    seekdir 用来表示流查找方向的类型
    failure 流异常(Exception)基类
    Init 初始化标准流对象(Standard stream object)
  • (constructor) 构造对象
    (destructor) 析构对象

    状态标志函数(State flag function)

    good 检测流状态是否良好(Good)
    eof 检测 eofbit 位是否设置
    fail 检测 failbit 位或 badbit 位是否设置
    bad 检测 badbit 位是否设置
    operator! 检测流状态(not,取反),等同于 fail
    operator bool C++11 检测流状态
    rdstate 获得错误状态标志
    setstate 设置错误状态标志
    clear 设置错误状态标志

    格式化(Formatting)

    copyfmt 拷贝格式化信息
    fill 获取或设置填充字符

    其它

    exceptions 获得或设置异常掩码(Exceptions mask)
    imbue 激活本地化特征(Locale)
    tie 获得或设置绑定的流
    rdbuf 获得或设置流缓存
    narrow 获得窄(Narrow)字符
    widen 获得宽(Wide)字符
  • 以下是从基类 ios_base 中继承过来公共成员函数:

    格式化(Formatting):

    flags 获取或设置格式标识
    setf 设置指定的格式标识
    unsetf 清除指定的格式标识
    precision 获取或设置浮点数精度
    width 获取或设置字段宽度

    本地化(Locale):

    imbue 激活本地化特征
    getloc 获得当前本地化特征

    内部可扩展数组(Internal extensible array):

    xalloc 从可扩展数组中获得一个新的索引(Index)
    iword 从可扩展数组中获得一个整数元素
    pword 从可扩展数组中获得一个指针元素

    其它:

    register_callback 注册事件回调函数(Event callback function)
    sync_with_stdio 与 C 型输入输出同步绑定
  • init 初始化对象
    move C++11 转移内部成员
    swap C++11 交换内部成员
    set_rdbuf C++11 设置流缓存