return0;
}
运行结果
IlikeC++./IstudyC++./Iamhappy.
Thefirstpartis:
IlikeC++.
Thesecondpartis:
IstudyC++.
7.4文件操作与文件流
7.4.1文件的概念
文件流
C++在头文件fstream.h中定义了C++的文件流类体系,当程序中使用文件时,要包含头文件fstream.h
。
ios
ifstream(输入流)
ofstream(输出流)
fstream
在“fstream.h”中说明
当使用文件时,在程序头有:
#include
其中定义了各种文件操作运算符及函数。
文件的操作
文本文件:
以ASCII表示的文件:
记事本,*.cpp等
文件
二进制文件:
用二进制形式表示的文件:
可执行程序*.EXE等
56:
ASCII表示为0011010100110110,占两字节
56:
二进制表示为111000,占六个二进制位
不同的文件操作的函数、格式不同
7.4.2文件流类与文件流对象
标准输入输出流类:
istream、ostream和iostream
用于文件操作的文件类:
1.ifstream类,它是从istream类派生的,用来支持从磁盘文件的输入。
2.ofstream类,它是从ostream类派生的,用来支持向磁盘文件的输出。
1.fstream类,它是从iostream类派生的,用来支持对磁盘文件的输入输出。
可以用下面的方法建立一个输出文件流对象:
ofstreamoutfile;
7.4.3文件的打开与关闭
1.打开磁盘文件
打开文件是指在文件读写之前做必要的准备工作,包括:
1.为文件流对象和指定的磁盘文件建立关联,以便使文件流流向指定的磁盘文件。
2.指定文件的工作方式,如,该文件是作为输入文件还是输出文件,是ASCII
文件还是二进制文件等。
以上工作可以通过两种不同的方法实现。
1.调用文件流的成员函数open。
如
ofstreamoutfile;//定义ofstream类(输出文件流类)对象outfile
outfile.open(“f1.dat”,ios:
:
out);//使文件流与f1.dat(指定它为输出文件)文件建立关联
调用成员函数open的一般形式为
文件流流对象.open(磁盘文件名,输入输出方式);
2.在定义文件流对象时指定参数
如ofstreamoutfile(“f1.dat”,ios:
:
out);
输入输出方式是在ios类中定义的,它们是枚举常量,有多种选择。
见下表。
2.关闭磁盘文件
在对已打开的磁盘文件的读写操作完成后,应关闭该文件。
用成员函数close。
如outfile.close();//将输出文件流所关联的磁盘文件关闭
7.4.4对ASCII文件的操作
对ASCII文件的读写操作可以用以下两种方法:
1.用流插入运算符“<<”和流提取运算符“>>”输入输出标准类型的数据。
2.用put、get、getline等成员函数进行字符的输入输出。
例13.有一个整型数组,含10个元素,从键盘输入10个整数给数组,
将此数组送到磁盘文件中存放。
#include
#include
usingnamespacestd;
intmain()
{inta[10];
ofstreamoutfile("f1.dat");//定义文件流对象,打开磁盘文件“f1.dat”
if(!
outfile)//如果打开失败,outfile返回0值
{cerr<<"open