14.2 文件流课件.ppt

  1. 1、本文档共35页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 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)

baa89089 + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档