C++程序语言15B.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文档。上传文档
查看更多
C程序语言15B

C++程序设计实用教程 清华大学出版社 2008 第15章 I/O流 标准I/O流 文件I/O流 字符串I/O流 *趣味程序———探究文件字节内容 小结 15.2 文件I/O流 15.2.1 文本文件 15.2.2 二进制文件 15.2.3 应用举例 重点: 概念 文件的概念、文件流对象 操作 创建文件流对象,关联磁盘文件 打开文件、读/写文件、关闭文件 文件概述 本节所介绍的文件是指存储在外部存储器(如磁盘、光盘或U盘)上的文件。 C++程序可以对这些文件的内容进行操作(假定这些文件是可读或可写的)。文件I/O操作大致包括如下几个基本步骤 根据对文件将要进行的操作,创建适当的文件流类的对象。 将创建的文件流对象与指定的文件进行关联(打开文件),需指定文件名,指定打开模式打开文件。 在文件内容中定位,读取文件内容或者将数据写入文件。 解除文件与文件流对象的关联(关闭文件)。 文件流类 包含头文件 #include fstream 若干与文件操作的类 ifstream // 处理从文件读取内容的类 ofstream // 处理将数据写入文件的类 fstream // 处理文件读/写的类 每个类均有多个构造函数 默认的构造函数 创建文件流类的对象,但不关联磁盘文件 可用对象名.open(文件名, 打开模式);关联具体文件 带参数的构造函数 文件流类名 对象名(文件名, 打开模式); 打开文件模式 ios::in 以输入方式打开文件(读) ios::out 以输出方式打开文件(写)。若文件已经存在,则先清除其所有内容。 ios::app 以输出方式打开文件(写)。将写入的数据追加到文件原来已有数据的末尾。 ios::ate 打开已存在的文件,文件内容指针指向文件末尾。 ios::trunc 打开文件。若文件已经存在,则先清除其所有内容。 ios::binary 以二进制方式打开文件 关闭文件 ——— 解除文件关联 对象名.close(); 文件流对象与某磁盘文件解除关联后,对象的生命期未终止时,该对象仍可以关联(open())其他磁盘文件。 15.2.1 文本文件 从不同角度看文件,有多种不同的分类方式 系统文件/用户文件 程序文件/数据文件 图像文件/声音文件/…… 本节讨论数据文件,根据数据的存放方式 文本文件 二进制文件 文本文件(亦称为ASCII文件) 仅由可打印字符,及回车(’\r’)、换行(’\n’) 、制表符(’\t’)等构成 15.2.1 文本文件 文本文件(亦称为ASCII文件) C++源程序文件、头文件、Windows批处理文件和Linux脚本文件等都是文本文件。 文本文件可用文本编辑软件进行新建、编辑 Windwos操作系统提供的“记事本”程序 C++集成开发环境中的编辑器 采用文本文件格式存储数据比较直观 可以用文本文件编辑器预先编辑好数据并存入磁盘文件中,在程序运行时直接读取其中的数据。 特别适合有大量原始数据输入给程序的情形(这里不是指采用重新定向的方法)。 15.2.1 文本文件 C++程序中,对文本文件内容进行操作 插入运算符(,将数据写入到文件中) 抽取运算符(,从文件中读取数据) put、get和getline 等函数。 一般采用顺序方式读或写文件内容。 文件中的数据之间应该添加特定的数据项分隔字符(如制表符、换行符、逗号或双引号等); 否则将难以正确地读取文件内容。 当然,要求所选用的特定分隔字符不会出现在数据本身之中。 例15.3 新建一个文本文件,将一些不同数据类型的数据写入其中,然后再从文件中将数据读取出来。 如处理一本书的信息 书名、作者、出版社(字符串) 页数(整数) 定价(浮点数) 【分析】 书名、作者等字符串中可能出现空格字符 为了能正确地读取文件中的数据,必须在将数据写入文件时选定一种特殊的字符用于分隔各数据项。 本例采用制表符’\t’作为数据之间的分隔字符。 15.2.2 二进制文件 二进制文件 从构成文件的各个字节看,任何文件都可以看成二进制文件,都可以按照二进制模式打开。 准确地说,若数据按其在计算机内存中的存放格式存储在文件中,则称这种文件为二进制文件。 二进制文件不便用文本文件的编辑软件打开 一般而言,二进制文件需要用特定的程序打开 图像文件、声音文件等多媒体文件需要用专门的查看程序、播放程序打开。 15.2.2 二进制文件 打开二进制文件后,读/写文件内容的成员函数: istream read(char *buffer, int len); 读取文件中的len字节内容存放到以buffer为 起始的地址处 ostream write(const char *buffer,

文档评论(0)

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

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

1亿VIP精品文档

相关文档