1、fstream类型定义了两个自己的新操作——open和close。
ofstream outfile(ofile.c_str());
ofstream outfile;
infile.open(”in“);//open file named "in" in the current directory
outfile.open(”out“);//open file named "out" in the current directory
2、文件流对象的使用
1)ifstream infile(ifile.c_str());
ifile和ofile存储读写的文件名的string对象
2)ifstream infile;
调用open成员函数将已存在的fstream对象与特定文件绑定。
如果调用open或使用文件名作为初始化式,需要传递的实参应为C风格字符串,而不是标准库string对象。
3、如果要把fstream对象与另一个不同的文件关联,则必须先关闭(close)现在的文件,然后打开(open)另一个文件。
4、如果需要重用文件流读写多个文件,必须在读另一个文件之前调用clear清除该流的状态。
5、文件模式:在打开文件时,无论是调用open还是以文件名作为流初始化的一部分,都需指定文件模式(file mode)。
in
打开文件做读操作
out
打开文件做写操作
app
在每次写之前找到文件尾
ate
打开文件后立即将文件定位在文件尾
trunc
打开文件时清空已存在的文件流
binary
以二进制模式进行IO操作
默认时,与ifstream流对象关联的文件将以in模式打开,该模式允许文件做读的操作,与ofstream关联的文件则以out模式打开,使文件可写。以out模式打开的文件会被清空,丢弃该文件存储的所有数据。
对于用ofstream打开的文件,要保存文件中已保存的数据,唯一方法是显式地指定app模式打开。