第17的章文件.pptVIP

  1. 1、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
第17的章文件

第17章 文件 课程内容安排(4课时) 文件与流 文件的打开与关闭 文本文件的顺序读/写 二进制文件的顺序读/写 文件的随机读/写 文件与流 17.1 文件与流 文件在计算机中是指存储在外部介质上的信息集合。外部介质包括硬盘、光盘和U盘等,文件内容可以是文本、数值、图形图像、音频和视频等。在程序设计中,文件不单指磁盘文件,输入/输出设备也可以被看作文件又被称为设备文件,如键盘、屏幕、打印机等都可以作为设备文件进行操作。前面介绍的标准输入/输出,可以认为是从键盘文件输入、向屏幕文件输出。从键盘输入可以理解为:从键盘文件中取出(读取)数据输入到内存;向屏幕输出可以理解为:将内存中的数据输出(写入)到屏幕文件中。C++中,对于磁盘文件的输入/输出操作类似于标准输入/输出操作。可以从磁盘文件读取数据输入到内存,也可以将内存的数据输出写入到磁盘文件中。 文件与流 C++程序中操作的文件包括文本文件(ASCII文件)和二进制文件。文本文件中的每一个字节存放一个ASCII码,表示一个字符。例如若将字符a存入文本文件,则以1个字节的ASCII码存放,若将整数12345存入文本文件,分别以5个字符的ASCII码存储,共占用5个字节。二进制文件中的内容以数据在内存中的真正存储形式存放,如将字符a存入二进制文件,同文本文件一样以1个字节的ASCII码存储,但要将整数12345存入二进制文件,则以它的补码形式存储,占4个字节。由此看来,对于数值型数据,在二进制文件中的形式和在内存中的形式相同,因此在输入/输出时不用转换格式,而在文本文件中需要将数值分解成若干ASCII码存储,需要转换,所以一般将纯文本内容存储在文本文件中,将数值型数据或含有数值的结构体数据存储在二进制文件中。 文件与流 上一章介绍过将输入/输出的数据称为流,标准输入/输出的数据称为标准输入/输出流,那么就可以称以磁盘文件为输入/输出对象的数据流为文件流。输入文件流是从文件提取,流向内存的数据;输出文件流是指从内存取出,流向文件的数据。C++的输入/输出流类库中定义了支持文件输入/输出操作的文件流类,如图17-1所示。 文件与流 文件与流 由图中可以看出,ifstream类从istream类中派生,用于支持从磁盘文件的输入操作;ofstream类从ostream类派生,用于支持向磁盘文件的输出操作;fstream类是iostream类的派生,支持磁盘文件的输入/输出操作,编写带有文件输入/输出操作的程序需要包含头文件fstream;filebuf类从streambuf派生,提供文件输入/输出的缓冲支持。 文件与流 要实现文件的输入/输出操作,必须定义文件流类的对象,通过文件流对象和文件流类中的运算符或函数的结合使用,实现对磁盘文件的输入/输出操作。可以和标准输入/输出操作相对照理解,从键盘文件输入,需要借助输入流对象cin实现;向屏幕文件输出,需要借助输出流对象cout实现,只是键盘和屏幕是固定的设备文件,所以在iostream中预定义了cin和cout两个流对象对应于键盘文件和屏幕文件的操作。 文件与流 而对应于操作磁盘文件的流对象由用户自行定义,如: ifstream infile; 或 ofstream outfile; infile和outfile是两个文件流类的对象,分别用于文件输入/输出。不过这两个流对象到底对应于哪个磁盘文件呢,这就要用到open()函数,使用这个函数可以打开磁盘文件并将流对象和磁盘文件建立关联。这样就可以借助流对象对相关联的磁盘文件进行输入/输出操作了。 文件与流 注意: 文件的输入操作是指文件的读操作,即从文件中读取数据输入到内存;文件的输出操作是指文件的写操作,即从内存中取出数据输出(写)到文件中。因此读写是针对文件而言,输入/输出是针对内存而言。 文件的打开与关闭 17.2 文件的打开与关闭 对文件进行输入/输出即读/写操作,必须先打开文件,使得文件与流对象建立关联,然后利用流对象调用文件流类的运算符或成员函数实现对文件的读写操作,操作完毕后关闭文件。当然文件的打开和关闭也是由相应的文件流类的成员函数实现的。 文件的打开与关闭 打开文件使用文件流类的成员函数open(),当然在打开文件之前要先定义流对象,如: ifstream infile; infile.open(file1.txt); 或 ofstream outfile; outfile.open(file2.txt); 首先定义文件流对象infile用于文件的输入(读)操作,然后文件流对象infile调用文件流类的成员函数open(),参数是要操作的磁盘文件名,open()函数实现的功能是打开文件fi

文档评论(0)

liwenhua00 + 关注
实名认证
文档贡献者

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

1亿VIP精品文档

相关文档