《C++ Primer》第8章 标准IO库

  1. IO类型在三个独立头文件中定义:iostream定义读写控制窗口类型,fstream定义已命名文件的类型,sstream定义则用于存在内存中的string对象
  2. iostream注意区别头文件与类型,当它作为类型时,由istream和ostream派生而来。
  3. 对IO类型使用继承有重要的含义:如果函数有基类类型引用形参时,可以给函数传递给其派生类对象。例如当使用&istream做形参时,可以使用ifstream作为对象那调用
  4. 描述的流类读写是由char类型组成的流
  5. IO对象不可复制或者赋值。两个意义:只有支持复制的元素类型可以使用vector和其它容器,所以流不能放在容器中。形参或者返回类型不能为流类型,如果需要传递或者返回,则使用指针或是引用 ofstream &print(ofstream &)
  6. 条件状态:流的状态有good,bad(系统级故障),fail(可恢复错误,例如要求输入整数却输入了字符),eof(遇到文件结束符)
    当前的整个条件状态:cin.rdstate()
  7. 输出缓冲区的管理:每个IO对象管理一个缓冲区
  8. 缓冲区刷新:a.程序正常结束 b.不确定时候,缓冲区已经满了,这样缓冲区在写入下一个字符时会清空c.显示清空endl d.用uintbuf设置流的状态 e.将输入输出关联起来,这样读输入流的时候刷新其关联的输出缓冲区
  9. 警告:程序崩溃,不会刷新缓冲区,必须保证期待写入的每个输出都确实被刷新了,多用endl
  10. 交互式操作系统通常确保他们的输入和输出流是绑在一起的
  11. 文件的输入输出:c++中的文件名,由于历史原因,IO标准库使用的是C风格的字符串而不是C++ string类型。因此文件名可以通过string中的c_str成员转换为C字符串
  12. 如果程序员需要重复文件流读写多个文件,必须在读另一个文件之前调用clear清除该流的状态。
  13. 文件流构造函数和open函数都提供了默认实参设置文件模式。与ofstream关联的文件以out模式打开,此时文件会被清空:丢弃掉该文件存储的所有数据。
  14. 对于ofstream打开的文件,要保存文件中的数据,唯一的方式就是用app模式打开  ofstream appfile("file",ofstream::app)
  15. 文件模式是文件的属性而不是流的属性。
  16. 字符串流:stringstream对象的一个常见用法,需要在多种类型数据之间实现自动格式化时可以使用该类型。
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值