第8章 IO库

8.1 IO类

  1. IO类继承机制:ifstream和istringstream继承自istream,ofstream和ostringstream都继承自ostream。
  2. 宽字符IO类:在函数和类型前加前缀w,如wcin、wistream。

8.1.1 IO对象无拷贝或赋值

  1. O对象无拷贝赋值:IO操作的函数通常以引用方式传递(形参)和返回流(返回值);由于读写会改变状态,IO对象的引用不能是const。

8.1.2 条件状态

  1. 条件状态:iostate表示流状态的类型,其包含4种constexpr值,badbit(流崩溃)、failbit(可恢复错误)、goodbit、eofbit;对应4个函数bad()、fail()、good()、eof()。
  2. 管理条件状态:rdstate()获取状态,clear()清除所有错误标志位,clear(flags)和setstate(flags)将状态置为flags。
  3. 刷新输出缓冲区:可使用操纵符endl(换行)、flush、ends(空字符);开启unitbuf每次调用flush,nounitbuf解除。
  4. 关联流:交互式系统通常关联输入和输出流,使所有输出在读操作前被打印;每个流同时最多关联到一个流,但多个流可以关联到同一个ostream;将其关联到空指针可彻底解开关联。

8.2 文件输入输出

  1. fstream特有:打开文件绑定流的open()、关闭绑定文件的close()、文件是否成功打开且尚未关闭的is_open()。

8.3 string 流

  1. stringstream特有:将s拷贝到stringstream对象的str(s)、返回保存的string的拷贝的str()。

你可能感兴趣的:(第8章 IO库)