在 C++语言中进行文件操作的一般步骤如下。
(1)为要进行操作的文件定义一个流。
(2)建立(或打开)文件。如果文件不存在,则建立该文件;如果磁盘上已存在该文
件,则打开它。
(3)进行读/写操作。在建立(或打开)的文件上执行所要求的输入/输出操作。一般
来说,在主存与外设的数据传输中,由主存到外设叫做输出或写,而由外设到主存叫做输
入或读。
(4)关闭文件。当不需要进行其他输入输出操作时,应把已打开的文件关闭。
文件读写有很多种方法,大家的课题掌握以下两种即可。
(1)利用 get( )和 put( )函数实现将文本文件 abc.txt 的内容复制到文本文件 xyz.txt。中
去。(abc.txt 文件需要事先建立)
//example8_8.cpp:利用 get( )和 put( )函数实现将文本文件的复制
#include <fstream>
#include <iostream>
using namespace std;
int main()
{
ifstream ifile("d:\abc.txt"); //打开被复制的源文件 abc.txt,该文件事先已在 D 盘建立
if(!ifile) //判断文件是否被正常打开
{
cout<<"abc.txt cannot be openned!"<<endl;
return;
}
ofstream ofile("d:\xyz.txt"); //在 d 盘根目录下建立目标文件 xyz.txt
if(!ofile) //判断文件是否被正常打开
{
cout<<"xyz.txt cannot be openned!"<<endl;
return;
}
char ch;
while(ifile .get(ch)) //从源文件中读入一个字符给变量 ch
ofile.put(ch); //将变量 ch 的值写入目标文件
ifile. close(); //关闭源文件
ofile.close(); //关闭目标文件
return 0;
}
(2)使用运算符“>>”与“<<”
使用运算符“>>” 可以将文件中的信息读入内存,但这时要用与文件相连接的输入流对
象名来代替 cin;使用运算符“<<”可以将内存中的信息写到磁盘文件,但这时需要用与文件
相连接的输出流对象名来代替 cout。
【例 8.7】 使用流运算符“<<”和“>>”对文本文件操作示例。
//example8_7.cpp:使用"<<"运算符向文件中写内容,使用">>"运算符从文件中读内容示例
#include<fstream>