此篇文章只是简要介绍c++中文件输入输出的基本步骤,详细情况请看附加的链接
1. 文件流和文件流对象
1) 文件流
Ø 文件流是以外存文件为输入输出对象的数据流。输出文件流是从内存流向外存文件的数据,输入文件流是从外存文件流向内存的数据。每一个文件流都有一个内存缓冲区与之对应。
Ø 请区分文件流与文件的概念。文件流本身不是文件,而只是以文件为输入输出对象的流。若要对磁盘文件输入输出,就必须通过文件流来实现。
Ø 文件流类:专门用于对磁盘文件的输入输出操作
i. ifstream类,它是从istream类派生的。 用来支持从磁盘文件的输入。
ii. ofstream类,它是从ostream类派生的。 用来支持向磁盘文件的输出。
iii. fstream类,它是从iostream类派生的。 用来支持对磁盘文件的输入输出。
2) 文件流对象
Ø 定义:用文件流类定义的对象称为文件流对象。
Ø 作用:要以磁盘文件为对象进行输入输出,必须定义一个文件流类的对象,通过文件流对象将数据从内存输出到磁盘文件,或者通过文件流对象从磁盘文件将数据输入到内存。
其实在用标准设备为对象的输入输出中,也是要定义流对象的,如cin,cout就是流对象。cin,cout已在iostream.h中事先定义,而在用磁盘文件时,由于情况各异,文件流对象无法事先统一定义,必须由用户自己定义。
2. 使用文件流的基本步骤
1) 打开一个文件,其目的是将一个文件流对象与某个磁盘文件联系起来
2) 使用文件流对象的成员函数,将数据写入到文件或从文件中读取数据
3) 关闭已打开的文件,即将文件流对象与磁盘文件脱离联系。
例如:
#include <fstream.h>
void main() //程序从这里开始运行
{
ofstream SaveFile(“file1.txt”); //定义输出文件流对象SaveFile,并将SaveFile与文件file1联系起来(即打开了文件file1)
SaveFile << “Hello World”; //利用运算符<<将文本写入文件,与cout<<用法类似
SaveFile.close(); //关闭文件
}
下面分步介绍
3. 文件操作流程
1) 定义一个文件流对象
ifstream infile;//定义输入文件流对象infile
ifstream infile(file1.txt);//定义输入文件流对象infile,并将infile与文件’file1.txt”联系起来(打开文件file1.txt)
ofstream outfile;// 定义输出文件流对象outfile
fstream iofile;// 定义输入/输出文件流对象iofile
2) 用文件流对象的成员函数open()或构造函数,打开一个文件。如:
outfile.open(file2.txt); //用成员函数open()打开文件file2.txt
ourfile(“file3.txt”);//用构造函数打开文件file3.txt
打开文件时,可以利用参数设置文件打开方式、文件属性。
文件打开后,要判断打开文件是否成功。
3) 用提取、插入运算或成员函数对文件读/写。如:
infile>>ch;
4) 用完文件后,使用文件流对象的成员函数关闭文件。如:
infile.close();
参考: