- 1、本文档共35页,可阅读全部内容。
- 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
14.2 文件流课件
为了调用磁盘文件,缓冲文件系统为每一个文件开辟了一个“文件信息区”,用来存放与文件操作有关的信息。
在C++中,头文件fstream.h中定义了文件类,包括:
ifstream: 它支持从输入文件中提取数据的各种操作;
ofstream:它支持把数据写入文件中的各种操作;
fstream: 支持数据的输入与输出操作。
;(1). 定义一个文件类的对象方法如下:
例如: ifstream infile;
ofstream outfile;
fstream iofile;
(2). 打开文件:建立文件对象(变量)与磁盘文件之间的联系;
(3). 对打开文件的操作:可以使用成员函数或“”“”运算符对文件进行读写操作。
(4). 文件操作完成后,应该用成员函数关闭打开的文件。;(1)文件的打开 (open)
所谓“打开”,实际上是在程序和操作系统之间建立起联系,通过文件的打开操作为所处理的文件定义一个文件指针,文件指针并不是直接指向所处理的文件本身,而是指向内存中用于存放文件信息的文件信息区,在文件打开后文件信息区就与该文件建立了一对一的联系。然后使用文件类所提供的成员函数(类似于成员变量),将数据写入到对应的文件中去。;定义的文件类对象后,使用成员函数打开文件:
ifstream infile;
ofsream outfile;
fstream file;
infile.open(“myfile_in.txt”); //打开一个只读文件
outfile.open(“myfile_out.txt”); //打开一个只写文件
file.open(“myfile.txt”, ios::in); //以只读方式打开文件
在定义文件类对象时直接打开文件:
ifstream infile(“myfile_in.txt”);
ofstream outfile(“myfile_out.txt”);
fstream file(“myfile.txt”, ios::in);;在头文件ios.h中,定义了文件打开方式的枚举成员:
enum open_mode{
in = 0x01, /按读方式打开文件
out = 0x02, /按写方式打开文件
ate = 0x04, /打开文件时将文件指针移 app = 0x08, / 到文件的结尾处
trunc = 0x10, / nocreate = 0x20, / noreplace = 0x40, / binary = 0x80 /以二进制方式打开文件
};; 每一种打开方式是以一个二进制位来表示的,所以可以用二进制位或运算“|”将允许的几种方式组合起来使用。如:
ios::out | ios::ate //打开一个输出文件并将指针移到文件尾
ios::in | ios::binary //打开一个二进制文件用于输入
ios::out | ios::trunc //打开一个输出文件并清除原有内容;枚举常量名;Ifstream类的成员函数open的原型为:
Open(const char *, int = ios::in, int = filebuf::openprot);
其缺省的文件打开方式为ios::in;
ofstream类的成员函数open的原型为:
Open(const char *, int = ios::out, int = filebuf::openprot);
其缺省的文件打开方式为ios::out;
fstream类的成员函数open的原型为:
Open(const char *, int, int = filebuf::openprot);
其缺省的文件打开方式必须指定。; “关闭”就是使文件指针变量不指向该文件,也就是使文件指针变量与文件“脱钩”,此后不能再通过该指针对其相连的文件进行读写操作,除非再次打开。
无论是ifstream、ofstream还是fstream,关闭文件的操作都是:Close( );
如:infile.close( );
outfile.close( );
file.close( );
关闭文件时, 系统把与该文件相关联的内存缓冲区中的数据写到文件中,收回与该文件相关的文件信息区,把文件名与文件对象之间建立的关联断开。
; 在打开文件后,通常要判断打开是否成
文档评论(0)