面向对象程序设计C++第10章-文件的输入输出.ppt
- 【下载声明】
1. 本站全部试题类文档,若标题没写含答案,则无答案;标题注明含答案的文档,主观题也可能无答案。请谨慎下单,一旦售出,不予退换。
2. 本站全部PPT文档均不含视频和音频,PPT中出现的音频或视频标识(或文字)仅表示流程,实际无音频或视频文件。请谨慎下单,一旦售出,不予退换。
3. 本页资料《面向对象程序设计C++第10章-文件的输入输出.ppt》由用户(三亚风情)主动上传,其收益全归该用户。163文库仅提供信息存储空间,仅对该用户上传内容的表现方式做保护处理,对上传内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知163文库(点击联系客服),我们立即给予删除!
4. 请根据预览情况,自愿下载本文。本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
5. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007及以上版本和PDF阅读器,压缩文件请下载最新的WinRAR软件解压。
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 面向 对象 程序设计 C+ 10 文件 输入输出
- 资源描述:
-
1、 第7章 继承与派生 第8章 多态和虚函数 第9章 模板和异常处理 第10章 文件的输入输出 第11章 Visual C+编程基础目录页目录页 Contents page 第1章 绪论 第2章 数据类型和表达式 第3章 控制结构 第4章 复合数据类型 第5章 函数 第12章 MFC应用程序实例 第6章 类与对象 目 录 页第第1010章章C+C+的的I/OI/O流类库流类库学习目标学习目标u 理解函数模板、类模板的概念u 掌握函数模板和类模板的区别及引用u 了解异常的基本概念u 掌握异常处理方法 目 录 页第第1010章章C+C+的的I/OI/O流类库流类库10.1 C+文件的基本知识什么是模
2、板?为什么要使用模板?什么是模板?为什么要使用模板?编写编写程序时,经常遇到这样的情况:若干程序单元(如函数或者类定义)中除了所处理的数据程序时,经常遇到这样的情况:若干程序单元(如函数或者类定义)中除了所处理的数据类型不同,程序代码是一样的。例如交换两个变量的值,考虑到需要处理不同的数据类型,所以一类型不同,程序代码是一样的。例如交换两个变量的值,考虑到需要处理不同的数据类型,所以一般采用重载技术。般采用重载技术。目 录 页第第1010章章C+C+的的I/OI/O流类库流类库10.1 C+文件的基本知识10.1.1 标准输入和输出标准输入和输出从操作系统的角度看,每一个与主机相连的输入输出设
3、备都被看做一个文件。程序的输入指的从操作系统的角度看,每一个与主机相连的输入输出设备都被看做一个文件。程序的输入指的是从输入文件将数据传送给程序,程序的输出指的是从程序将数据传送给输出文件。是从输入文件将数据传送给程序,程序的输出指的是从程序将数据传送给输出文件。C+的输入与的输入与输出主要包括以下的内容:输出主要包括以下的内容:对系统指定的标准设备的输入和输出;对系统指定的标准设备的输入和输出;以外存磁盘文件为对象进行输入和输出;以外存磁盘文件为对象进行输入和输出;对内存指定的空间进行输入和输出对内存指定的空间进行输入和输出。输入和输出是数据传送的过程,数据如流水一样从一处流向另一处。输入和
4、输出是数据传送的过程,数据如流水一样从一处流向另一处。C+形象地将此过程称为形象地将此过程称为流(流(stream)。)。目 录 页第第1010章章C+C+的的I/OI/O流类库流类库10.1 C+文件的基本知识10.1.1 标准输入和标准输入和输出输出C+对文件的操作是通过文件流类来实现的,为了使用这些文件流类,需要用对文件的操作是通过文件流类来实现的,为了使用这些文件流类,需要用#include预编译预编译指令将指令将fstream.h文件包含进来。文件流按其用途不同可分为文件包含进来。文件流按其用途不同可分为3种:输入流、输出流和输入输出流。种:输入流、输出流和输入输出流。要在程序中使用
5、它们,必须定义相应的要在程序中使用它们,必须定义相应的对象对象。目 录 页第第1010章章C+C+的的I/OI/O流类库流类库10.1 C+文件的基本知识10.1.1 标准输入和标准输入和输出输出表10-1 I/O流类 目 录 页第第1010章章C+C+的的I/OI/O流类库流类库10.1 C+文件的基本知识10.1.2 文本流、二进制流和数据文件文本流、二进制流和数据文件数据文件在磁盘上有两种存储方式,一种是按数据文件在磁盘上有两种存储方式,一种是按ASCII码存储,称为码存储,称为ASCII码文件;一种是按二码文件;一种是按二进制码存储,称为二进制文件。进制码存储,称为二进制文件。文本文件
6、文本文件:也称:也称ASCII码文件。这种文件在保存时,每个字符对应一个字节,用于存储对应的码文件。这种文件在保存时,每个字符对应一个字节,用于存储对应的ASCII码。码。二进制二进制文件:不是保存文件:不是保存ASCII码,而是按二进制的编码方式来保存文件内容。码,而是按二进制的编码方式来保存文件内容。目 录 页第第1010章章C+C+的的I/OI/O流类库流类库10.1 C+文件的基本知识10.1.3 文件的处理方式文件的处理方式C+语言没有提供对文件进行操作的语句,所有的文件操作都是利用语言没有提供对文件进行操作的语句,所有的文件操作都是利用C+语言编译系统所提供语言编译系统所提供的库函
7、数来实现。多数的库函数来实现。多数C+语言编译系统都提供两种文件处理方式,即语言编译系统都提供两种文件处理方式,即“缓冲文件系统缓冲文件系统”和和“非缓非缓冲文件系统冲文件系统”。(1)缓冲文件系统又称为标准文件系统或高层文件系统,是目前常用的文件系统。在对文件进行缓冲文件系统又称为标准文件系统或高层文件系统,是目前常用的文件系统。在对文件进行操作时,系统自动地为每个文件在内存开辟一个缓冲区。操作时,系统自动地为每个文件在内存开辟一个缓冲区。目 录 页第第1010章章C+C+的的I/OI/O流类库流类库10.2 文件的打开和关闭10.2.1 文件的打开文件的打开1.使用成员函数使用成员函数op
8、en()打开文件打开文件函数函数open()是是ifstream、ofstream和和fstream流类的成员方法,其函数原型为:流类的成员方法,其函数原型为:void open(const char*filename,int mode,int prot=filebuf:openprot);说明说明(1)第一个形参第一个形参filename是要打开的文件名,可以带绝对路径。是要打开的文件名,可以带绝对路径。(2)第二个形参第二个形参mode是文件打开模式,由一些流基类是文件打开模式,由一些流基类ios类的成员说明,取值及含义如表类的成员说明,取值及含义如表10-2所所示示。(3)第三个形参第三
9、个形参prot是文件打开时的保户方式是文件打开时的保户方式,其默认值是其默认值是filebuf:openprot,表示表示“可共享的可共享的”,即该文件可同时被多个文件流对象打开。即该文件可同时被多个文件流对象打开。目 录 页第第1010章章C+C+的的I/OI/O流类库流类库10.2 文件的打开和关闭10.2.1 文件的打开文件的打开1.使用成员函数使用成员函数open()打开打开文件文件例如,常用的文件打开方式有:例如,常用的文件打开方式有:ios:in/以读方式打开文本文件以读方式打开文本文件ios:in|ios:out/以读以读/写方式打开文本文件写方式打开文本文件ios:in|ios
10、:binary/以读方式打开二进制文件以读方式打开二进制文件ios:in|ios:nocreate /以读方式打开文本文件以读方式打开文本文件,若文件不存在,则打开失败若文件不存在,则打开失败ios:in|ios:binary|ios:nocreate/以读方式打开二进制文件以读方式打开二进制文件,若文件不存在,则打开失败若文件不存在,则打开失败ios:out/以写方式打开文本文件以写方式打开文本文件ios:out|ios:binary/以写方式打开二进制文件以写方式打开二进制文件ios:out|ios:app/以追加方式打开文本文件以追加方式打开文本文件ios:out|ios:app|ios
11、:binary/以追加方式打开二进制文件以追加方式打开二进制文件ios:out|ios:noreplace /以写方式打开文本文件以写方式打开文本文件,若文件存在,则打开失败若文件存在,则打开失败ios:out|ios:binary|ios:noreplace/以写方式打开二进制文件以写方式打开二进制文件,若文件存在,则打开失败若文件存在,则打开失败 目 录 页第第1010章章C+C+的的I/OI/O流类库流类库10.2 文件的打开和关闭10.2.1 文件的打开文件的打开1.使用成员函数使用成员函数open()打开打开文件文件表10-2 文件打开模式mode的取值 目 录 页第第1010章章C
展开阅读全文