第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()。
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • 前言 把《C++ Primer》[https://book.douban.com/subject/25708312...
    尤汐Yogy阅读 9,555评论 1 51
  • C/C++输入输出流总结 前两天写C++实习作业,突然发现I/O是那么的陌生,打了好长时间的文件都没有打开,今天终...
    LuckTime阅读 1,765评论 0 6
  • 概述 java.io 包几乎包含了所有操作输入、输出需要的类。所有这些流类代表了输入源和输出目标。java.io ...
    Steven1997阅读 9,271评论 1 25
  • 一、基础知识:1、JVM、JRE和JDK的区别:JVM(Java Virtual Machine):java虚拟机...
    杀小贼阅读 2,458评论 0 4
  • 今天下午爸爸不用上班,便带着我和天诚一起去夏地。 夏地的旁边有养鸡养羊的地方,而夏地是一条河。 ...
    开心果_14df阅读 270评论 0 0