示例代码
https://download.youkuaiyun.com/download/mamor/89692735
1. 流对象与文件操作
- 程序建立一个流对象
- 当程序与外界环境进行信息交换时,存在着两个对象,一个是程序中的对象,一个是文件中的对象。
- 流时一种抽象,它负责在数据的生产者和数据的消费者之间建立关系,并管理数据的流动。
- 指定这个流对象与某个文件对象建立连接
- 程序操作流对象
- 流对象通过文件系统对所连接的文件对象产生作用
2. 提取与插入
- 读操作在流数据抽象中被称为(从流中)提取
- 写操作被称为(向流中)插入
3. 常用流类列表
4. 输出流
4.1 三个输出流
- ostream
- ofstream
- ostingstream
4.2 构造输出流对象
-
ofstream类支持磁盘文件输出
-
如果在构造函数中指定一个文件名,当构造这个对象时,该文件是自动打开的
ofstream myFile(“filename”)
-
可以在调用默认构造函数之后使用open成员函数打开文件
ofstream myFile;//声明一个静态文件输出流对象
myFile.open(“filename”);打开文件,使流对象与文件建立联系
-
在构造对象或用open打开文件时可以指定模式
ofstream myFile(“filename”, ios_base::out | ios_base::binary);
4.3 文件输出流成员函数的三种类型
- 与操作符等价的成员函数
- 执行非格式化写操作的成员函数
- 其它修改流状态且不同于操纵符或插入运算符的成员函数
4.4 文件输出流成员函数
-
open函数
- 把流与一个特定的磁盘文件关联起来
- 需要指定打开模式
-
put函数
- 把一个字符写到输出流中
-
write函数
- 把内存中的一块内容写到一个文件输出流中
-
seekp和tellp函数
- 操作文件流的内部指针
-
close函数
- 关闭与一个文件输出流关联的磁盘文件
-
错误处理函数
在写到一个流时进行错误处理
4.5 操纵符-在代码中说明了
4.6 精度
4.7 二进制文件流
4.8 字符串输出流(ostringstream)
5. 输入流
5.1 输入流类
- istream类最适合用于顺序文本模式输入。cin是其实例。
- ifstream类支持磁盘文件输入
- istringstream
5.2 构造输入流对象
5.3 使用提取运算符从文本文件输入
5.4 输入流相关的函数
- open函数把该流与一个特定磁盘文件相关联。
- get函数的功能与提取运算符(>>)很像,主要的不同点是get函数在读入数据时包括空白字符
- getline的功能是从输入流中读取多个字符,并且允许指定输入终止字符,读取完成后,从读取的内容中删除终止字符。
- read成员函数从一个文件中读字节到一个指定的内存区域,由长度参数确定要读的字节数。当遇到文件结束或者在文本模式文件中遇到文件结束标记字符时结束读取。
- seekg函数用来设置文件输入流中读取数据位置的指针
- tellg函数返回当前文件读指针的位置。
- close函数关闭与一个文件输入流关联的磁盘文件。
5.5 从字符串输入
将字符串作为文本输入流的源,可以将字符串转换为其他数据类型。