读写操作流程:
1.为要进行操作的文件定义一个流对象;
2.打开(建立)文件;
3.进行读写操作;
4.关闭文件。
详解:
1.建立流对象:
输入文件流类(执行读操作):ifstream //in;
输出文件流类(执行写操作):ofstream //out;
输入输出文件流类:fstream //both;
注意:这三类文件流类都定义在fstream中,所以只要在头文件中加上fstream即可。
2.使用成员函数open打开函数:
使用方式:
ios::in 以输入方式打开文件(读操作)
ios::out 以输出方式打开文件(写操作),如果已经存在此名字的文件夹,则将其原有内容全部清除
ios::app 以输入方式打开文件,写入的数据增加至文件末尾
ios::ate 打开一个文件,把文件指针移到文件末尾
ios::binary 以二进制方式打开一个文件,默认为文本打开方式
举例:定义流类对象:ofstream out (输出流)
进行写操作:out.open("test.dat", ios::out); //打开一个名为test.dat的文件
3.文本文件的读写:
(1)把字符串 Hello World 写入到磁盘文件test.dat中
#include<iostream>
#include<fstream>
using namespace std;
int main()
{
ofstream fout("test.dat", ios::out);
if(!fout)
{
cout<<"文件打开失败!"<<endl;
exit(1);
}
fout<<"Hello World";
fout.close();
return 0;
}
//检查文件test.dat会发现该文件的内容为 Hello World
(2)把test.dat中的文件读出来并显示在屏幕上
#include<iostream>
#include<fstream>
using namespace std;
int main()
{
ifstream fin("test.dat", ios::in);
if(!fin)
{
cout<<"文件打开失败!"<<endl;
exit(1);
}
char str[50];
fin.getline(str, 50)
cout<<str<<endl;
fin.close();
return 0;
}
4.文件的关闭:
流对象.close(); //没有参数