C++(八):fstream读写操作
头文件fstream定义了三个类型来支持文件IO操作。
要读写一个文件,可以定义一个文件流对象,并将对象与文件关联起来。每个文件流类都定义了一个名为open的成员函数,可以完成一些系统相关的操作,来定位给定的文件,并视情况打开位读或写模式。
创建文件流对象时,可以提供文件名,此时会自动调用open
用fstream代替iostream& :在要求使用基类型对象的地方,可以使用继承类型的对象来代替。
成员函数open和close:如果定义了一个空文件流对象,可以调用open来将它与文件关联起来,如果调用open失败,failbit会被置位。
一旦文件流与文件关联起来,它会一直保存,此时别的流无法再与该文件绑定,所以有时需要关闭已关联的文件。
自动构造与析构: 用ifstream类型构造一个对象,如果该对象是一个循环中的局部变量,在每个循环中都要创建和销毁一次。当一个对象离开其作用域时,与之关联的文件会自动关闭,即自动调用close。
每个流都有一个关联的 文件模式 ,用来指出如何使用文件。
指定文件时有如下限制:
以out模式打开文件会丢弃已有数据: 默认情况下打开ofstream时,文件的内容会被丢弃。 阻止一个ofstream清空给定文件内容的方法时同时指定app模式 。
每次调用open时都会确定文件模式: 对于一个给定流,每当打开文件时,都可以改变其文件格式。