【c++ primer 笔记】第八章 IO库
2016-08-26 19:03
204 查看
1.
不能拷贝或对IO对象赋值
进行IO操作的函数通常以引用方式传递和返回流。读写一个IO对象会改变其状态,因此传递和返回的引用不能个是const的。
条件状态
badbit 系统级错误,如不可恢复的读写错误,一旦badbit被置位,流就无法使用了
failbit 可恢复错误,出现这种错误流还可以继续使用
eofbit 流到达了文件结束,此时failbit同样会被置位
goodbit 流未处于错误
缓冲区刷新(数据真正写到输出设备或文件)
endl: 换行并刷新缓冲区
flush: 刷新缓冲区,但不输出任何额外字符
ends: 向缓冲区插入一个空字符,然后刷新缓冲区
如果程序崩溃,输出缓冲区不会被刷新
当一个输入流被关联到一个输出流时,任何试图从输入流读取数据的操作都会先刷新关联的输出流
用tie函数将一个输入流和输出流绑定cin.tie(&cout);
2.
如果我们定义了一个空文件流对象,可以随后调用open来将它与文件关联起来
对一个已经打开的文件流调用open会失败,并会导致failbit被置位。为了将文件流关联到另外一个文件,必须首先关闭已经关联的文件
文件模式
默认情况下,当我们打开一个ofstream时,文件的内容会被丢弃。阻止一个ofstream清空给定文件内容的方法是同时指定app模式ofstream app("file2", ofstream::app);
对于一个给定流,每当文件打开时,都可以改变其文件模式
不能拷贝或对IO对象赋值
进行IO操作的函数通常以引用方式传递和返回流。读写一个IO对象会改变其状态,因此传递和返回的引用不能个是const的。
条件状态
badbit 系统级错误,如不可恢复的读写错误,一旦badbit被置位,流就无法使用了
failbit 可恢复错误,出现这种错误流还可以继续使用
eofbit 流到达了文件结束,此时failbit同样会被置位
goodbit 流未处于错误
缓冲区刷新(数据真正写到输出设备或文件)
endl: 换行并刷新缓冲区
flush: 刷新缓冲区,但不输出任何额外字符
ends: 向缓冲区插入一个空字符,然后刷新缓冲区
如果程序崩溃,输出缓冲区不会被刷新
当一个输入流被关联到一个输出流时,任何试图从输入流读取数据的操作都会先刷新关联的输出流
用tie函数将一个输入流和输出流绑定cin.tie(&cout);
2.
如果我们定义了一个空文件流对象,可以随后调用open来将它与文件关联起来
对一个已经打开的文件流调用open会失败,并会导致failbit被置位。为了将文件流关联到另外一个文件,必须首先关闭已经关联的文件
文件模式
默认情况下,当我们打开一个ofstream时,文件的内容会被丢弃。阻止一个ofstream清空给定文件内容的方法是同时指定app模式ofstream app("file2", ofstream::app);
对于一个给定流,每当文件打开时,都可以改变其文件模式
相关文章推荐
- 【C++ Primer】【学习笔记】【第八章】标准IO库之:面向对象的标准库
- 【C++ Primer】【学习笔记】【第八章】标准IO库之:条件状态
- C++ Primer 笔记——第八章 IO库
- c++ primer(第五版)学习笔记及习题答案代码版(第八章)IO库
- 【C++ Primer】【学习笔记】【第八章】标准IO库之:文件的输入和输出
- 【C++ Primer】【学习笔记】【第八章】标准IO库之:字符串流
- 【C++ Primer】【学习笔记】【第八章】标准IO库之:输出缓冲区的管理
- 《C++ Primer》读书笔记第八章-1-IO库
- C++ primer 中文第三版 阅读笔记 第八章
- C++ primer 中文第三版 阅读笔记 第八章
- 【C++ Primer 学习笔记】chapter8 标准IO库
- 《C++ Primer》读书笔记——第八章_IO库
- 42、C++ Primer 4th笔记,IO库,未格式化IO操作
- C++Primer学习笔记第八章(8/18)标准IO库
- c++ primer 学习笔记-第八章
- C++primer第五版笔记-第八章IO库
- 重温《C++ Primer》笔记二 标准IO库的条件状态
- C++ Primer 第八章 标准IO库
- C++ Primer 第八章 标准IO库
- c++primer学习笔记 ( 第八章 标准IO库)