- 处理控制台 IO
- 处理命名文件 IO
- 完成内存 string 的IO
每个IO 对象都维护一组条件状态 flags (eofbit, failbit and badbit),用来指出此对象上是否可以进行 IO 操作。如果遇到错误—例如输入流遇到了文件末尾,则对象的状态变为是失效,所有的后续输入操作都不能执行,直到错误纠正。
头文件 包含的多个文件流类,这里列出常用的4个:
- Input file stream class (class )链接
- Output file stream (class )链接
- Input/output file stream class (class )链接
filebuf File stream buffer (class )链接
Public member functions
1.
- 第一种不绑定文件, 绑定。
- 第二种 ,读取模式默认参数为 可以省略。
2.
打开文件,模式默认
函数参数:
- 要打开文件的文件名
- 打开文件的方式
3.
文件流对象与文件绑定,返回 true ,否则 false 。
4.
5.
返回一个 filebuf 对象指针,(The pointer to the internal filebuf object.)
6.
等号运算符禁止使用,可以使用。(即右边的值必须是一个即将销毁的临时对象)
7.
输入终端 和 都是 的子类,所以 用法相同。对变量进入输入的时候重载了常用的数据类型。
8.
返回最后一个输入操作读取的字符数目。
可以修改这个返回值的函数有:,,,,, , and . 其中函数 被调用后返回值为0。
9.
下面的程序演示读取到 的用法。
10.
读取一行到字符数组。
用法:
从流对象中读取一行存到字符串 直到遇到截止字符,,然后丢弃(它不被存储,下一个操作的起点在它之后)函数调用前 中的内容将被覆盖。
demo: 读取文件流的内容
11.
从输入流中读取n个字符并且丢弃,或者读到delim字符再停止读取。
12.
返回输入流下一个字符,并把它留在输入流中,作为下一次读取的起点。返回值是整形ascll码值,可以用 char© 转化为字符。
13.
从输入流中提取n个字符,并把他们存数组s中,不检测内容,也不加字符串结尾符号‘0’,实例:
14.
15.
16.
读取输入流中文件指针的位置,返回值可转化为 int。
17.
设定输入流中文件指针的位置。(1) (2)
- 参数 是流中的可以转化为 int
- 参数 是,与way相关,类型是 int
- 参数 可以选下表中的。
18.
检测流的状态是否正常。当错误的状态*flags (eofbit, failbit and badbit) *都没被设置的时候返回true
特定的错误状态可以用下面的函数(eof, fail, and bad)来检测。
19.
20.
布尔运算: 当流对象单独出现在条件语句中时,就间接调用布尔运算。
如:
函数原型:
c++98:
c++11:
返回值: 或 都没被标记的时候返回真。
(对比good(): failbit 或 badbit 或 eofbit 都没被标记的时候返回真)
版权声明:
本文来源网络,所有图片文章版权属于原作者,如有侵权,联系删除。
本文网址:https://www.mushiming.com/mjsbk/5877.html