C++primer_第八章_IO库_学习跟踪
2016-05-25 13:47
281 查看
1. 输入输出标准库iostream、fstream、sstream;
2. 通常可以将一个派生类对象当做其基类对象使用;
3. 由于不能拷贝或给IO对象赋值,因此不能将形参或返回类型设置为流类型,进行IO操作的函数通常以引用方式传递和返回流;
4. 读写一个IO对象会改变其状态,因此传递和返回的引用不能是const的;
5. 一个流一旦发生错误,其上后续的IO操作都会失败。确定一个流对象的状态的最简单的方法是将它作一个条件来使用;
6. 将流作为条件使用,只能告诉我们流是否有效,而无法告诉我们具体发生了什么。
7. 每个输出流都管理一个缓冲区,用来保存程序读写的数据、当程序正常结束、缓冲区满、使用操作符endl、在每个输出操作后用unitbuf设置流的内部状态或将一个输出流关联到另一个流,并对关联到的那个刘进行读写操作时会导致缓冲区的刷新;
8. 操作符endl、flush、ends均能刷新缓冲区。其中flush刷新缓冲区但不输出任何额外字符,ends向缓冲区插入一个空字符,然后刷新缓冲区;
9. 输出流设置unitbuf位可使接下来的输出操作后均立即刷新缓冲区,再使用nounitbuf可回到正常的缓冲模式;
10. 当一个输入流被关联到一个输出流时,任何试图从输入流读取数据的操作都会先刷新关联的输出流;
11. 当一个fsteam对象离开其作用域时,与之关联的文件会自动关闭;
12. 以out模式打开文件会丢弃已有数据,隐式trunc模式,保留被ofstream打开的文件中已有数据的唯一方法是显示指定app或in模式;
2. 通常可以将一个派生类对象当做其基类对象使用;
3. 由于不能拷贝或给IO对象赋值,因此不能将形参或返回类型设置为流类型,进行IO操作的函数通常以引用方式传递和返回流;
4. 读写一个IO对象会改变其状态,因此传递和返回的引用不能是const的;
5. 一个流一旦发生错误,其上后续的IO操作都会失败。确定一个流对象的状态的最简单的方法是将它作一个条件来使用;
6. 将流作为条件使用,只能告诉我们流是否有效,而无法告诉我们具体发生了什么。
7. 每个输出流都管理一个缓冲区,用来保存程序读写的数据、当程序正常结束、缓冲区满、使用操作符endl、在每个输出操作后用unitbuf设置流的内部状态或将一个输出流关联到另一个流,并对关联到的那个刘进行读写操作时会导致缓冲区的刷新;
8. 操作符endl、flush、ends均能刷新缓冲区。其中flush刷新缓冲区但不输出任何额外字符,ends向缓冲区插入一个空字符,然后刷新缓冲区;
9. 输出流设置unitbuf位可使接下来的输出操作后均立即刷新缓冲区,再使用nounitbuf可回到正常的缓冲模式;
10. 当一个输入流被关联到一个输出流时,任何试图从输入流读取数据的操作都会先刷新关联的输出流;
11. 当一个fsteam对象离开其作用域时,与之关联的文件会自动关闭;
12. 以out模式打开文件会丢弃已有数据,隐式trunc模式,保留被ofstream打开的文件中已有数据的唯一方法是显示指定app或in模式;
相关文章推荐
- opencv:求一幅图片的LBP纹理图(c++版本)
- c++作业6
- POJ2418 二叉排序树 && 字典树写法
- 初识lambda表达式
- C++实现生成1—10000之间的10000个不重复的随机数
- Cppcheck 1.54 C/C++静态代码分析工具
- 顺序表的增删查改、二分查找、冒泡和快速排序
- 快排的一些思考!
- C++设计模式浅识工厂方法模式
- C++作业6
- C++第6次上机实验-【项目2:数组合并】
- ARM 浮点运算详解 另一篇
- C语言 链表的创建--打印--逆置--新增--删除--排序--释放
- C++ 右值引用
- C++调用COM之错
- C++模板
- 指针与引用一些区别
- C++ 析构函数 为何一般定义为虚函数
- C++中的三种继承public,protected,private详细解析
- 栈的链表实现(C语言)