人民邮电出版社:《C++语言程序设计》课程教学资源(PPT课件讲稿)第12章 文件处理

第12章文件处理 12.1文件简分 12.2文件和 12.3件的访应 12,4应文件的访 人民邮电出版社 POSTS tEl OM PRE 动此映
第12章 文 件 处 理 12.1 文 件 简 介 12.2 文 件 和 流 12.3 顺序文件的访问 12.4 随机文件的访问

121文件简介 C++的文件一般指存储在外部介质上的数 据集合 这里的外部存储介质一般特指磁盘,磁盘 上的文件称为磁盘文件。对磁盘文件的输 入/输出简称为文件JO 每个文件都对应一个文件名, 人民邮电出版社 POSTS tEl OM PRE 动此映
12.1 文 件 简 介 C++的文件一般指存储在外部介质上的数 据集合。 这里的外部存储介质一般特指磁盘,磁盘 上的文件称为磁盘文件。对磁盘文件的输 入/输出简称为文件I/O。 每个文件都对应一个文件名

文件名由文件主名和扩展名两部分组成, 它们之间用圆点分开。文件主名是由用户 命名的一个有效的C+标识符,为了便于 记忆和使用,一般使文件主名的含义与所 存的文件内容相一致。 文件扩展名是由用户命名的1-3个字符组成, 是有效的C+标识符,通常用它来区分文 件的类型。 人民邮电出版社 POSTS tEl OM PRE 动此映
文件名由文件主名和扩展名两部分组成, 它们之间用圆点分开。文件主名是由用户 命名的一个有效的C++标识符,为了便于 记忆和使用,一般使文件主名的含义与所 存的文件内容相一致。 文件扩展名是由用户命名的1~3个字符组成, 是有效的C++标识符,通常用它来区分文 件的类型

在C+程序中保存数据的文件按存储格式 分为两种类型,一种为ASCI码文件或文 本文件它的每一个字节存放一个ASCI代 码,代表一个字符。另一种为内部格式文 件或二进制文件是把内存中的数据按其在 内存中的存储形式原样输出到磁盘上存放。 人民邮电出版社 POSTS tEl OM PRE 动此映
在C++程序中保存数据的文件按存储格式 分为两种类型,一种为ASCII码文件或文 本文件,它的每一个字节存放一个ASCII代 码,代表一个字符。另一种为内部格式文 件或二进制文件,是把内存中的数据按其在 内存中的存储形式原样输出到磁盘上存放

122文件和流 C+语言把文件看作是一个字符(字节) 的序列,即由一个一个字符(字节)的数 据顺序组成。一个文件是一个字节流或二 进制流。它把数据看作是一连串的字符 (字节),而不考虑记录的界限 人民邮电出版社 POSTS tEl OM PRE 动此映
12.2 文 件 和 流 C++语言把文件看作是一个字符(字节) 的序列,即由一个一个字符(字节)的数 据顺序组成。一个文件是一个字节流或二 进制流。它把数据看作是一连串的字符 (字节),而不考虑记录的界限

这种以字节流或二进制流组成的文件被称 为流式文件。以字符为单位进行操作增加 了处理的灵活性。 为了进行文件IO操作,C艹定义了文件流。 文件流是控制台流的扩展,是从控制台流 类派生来的,它继承了控制台流类的所有 特点。文件流类根据自己的需求,增加了 控制台流类所没有的特性。 人民邮电出版社 POSTS tEl OM PRE 动此映
这种以字节流或二进制流组成的文件被称 为流式文件。以字符为单位进行操作增加 了处理的灵活性。 为了进行文件I/O操作,C++定义了文件流。 文件流是控制台流的扩展,是从控制台流 类派生来的,它继承了控制台流类的所有 特点。文件流类根据自己的需求,增加了 控制台流类所没有的特性

文件流可分为3类:输入文件流 ifstream、 输出文件流 ofstream以及输入/输出文件流 istream。 和其他高级语言一样,对文件的读写之前 应打开该文件,在完成操作之后应及时关 闭该文件。 调用相应流中的open成员函数或构造函数, 按照一定的打开方式打开一个文件。 人民邮电出版社 POSTS tEl OM PRE 动此映
文件流可分为3类:输入文件流ifstream、 输出文件流ofstream以及输入/输出文件流 fstream。 和其他高级语言一样,对文件的读写之前 应打开该文件,在完成操作之后应及时关 闭该文件。 调用相应流中的open成员函数或构造函数, 按照一定的打开方式打开一个文件

0pen的函数原型为: void open( const char* szName, int nMode, int pRot=filebuf:: openprot ) 其中, sESame是文件名,它可包含驱动器 符和路径说明; mOde说明文件打开的模式, 表13.1给出了 mOde的取值范围 关闭任何一个流对象所对应的文件,就是用 这个流对象调用 close()成员函数即可 人民邮电出版社 POSTS tEl OM PRE 动此映
open的函数原型为: void open( const char* szName, int nMode, int nProt = filebuf::openprot ); 其中,szName是文件名,它可包含驱动器 符和路径说明;nMode说明文件打开的模式, 表13.1给出了nMode的取值范围。 关闭任何一个流对象所对应的文件,就是用 这个流对象调用close()成员函数即可

表13-1 流模式标志 选项 loSapp 添加模式,所有新数据都写入文件尾部。 los:ate 打开文件时文件指针定位到文件尾,如果程序移动了文件 指针,就把数据写入到当前位置 loSIn 打开文件进行读操作,文件不存在时出错。 打开文件进行写操作,如文件已存在则更新该文件。 lOs:: trunc 如果文件已存在则清空原文件 ios: nocreate打开一个已经存在的文件,如果文件不存在则打开失败。 ios: homeplace打开一个不存在的文件,如果文件存在则打开失败。 ios:: binary 二进制文件(非文本文件) 人民邮电出版社 POSTS tEl OM PRE 点破此处放
表 13-1 流模式标志 选 项 ios::app 添加模式,所有新数据都写入文件尾部。 ios::ate 打开文件时文件指针定位到文件尾,如果程序移动了文件 指针,就把数据写入到当前位置。 ios::in 打开文件进行读操作,文件不存在时出错。 ios::out 打开文件进行写操作,如文件已存在则更新该文件。 ios::trunc 如果文件已存在则清空原文件 ios::nocreate 打开一个已经存在的文件,如果文件不存在则打开失败。 ios::noreplace 打开一个不存在的文件,如果文件存在则打开失败。 ios::binary 二进制文件(非文本文件)

123顺序文件的访间 对文件的操作总是从文件指针位置开始顺 序向后移动,所以称之为顺序文件。 12.3.1建立顺序访问文件 1.建立文本文件 人民邮电出版社 POSTS tEl OM PRE 动此映
12.3 顺序文件的访问 对文件的操作总是从文件指针位置开始顺 序向后移动,所以称之为顺序文件。 12.3.1 建立顺序访问文件 1. 建立文本文件
按次数下载不扣除下载券;
注册用户24小时内重复下载只扣除一次;
顺序:VIP每日次数-->可用次数-->下载券;
- 人民邮电出版社:《C++语言程序设计》课程教学资源(PPT课件讲稿)第11章 C++输入/输出流.ppt
- 人民邮电出版社:《C++语言程序设计》课程教学资源(PPT课件讲稿)第10章 虚函数和多态性.ppt
- 人民邮电出版社:《C++语言程序设计》课程教学资源(PPT课件讲稿)第09章 继承性.ppt
- 人民邮电出版社:《C++语言程序设计》课程教学资源(PPT课件讲稿)第08章 运算符重载.ppt
- 人民邮电出版社:《C++语言程序设计》课程教学资源(PPT课件讲稿)第07章 类与数据抽象.ppt
- 人民邮电出版社:《C++语言程序设计》课程教学资源(PPT课件讲稿)第06章 指针和引用.ppt
- 人民邮电出版社:《C++语言程序设计》课程教学资源(PPT课件讲稿)第05章 结构体和共用体.ppt
- 人民邮电出版社:《C++语言程序设计》课程教学资源(PPT课件讲稿)第04章 数组.ppt
- 人民邮电出版社:《C++语言程序设计》课程教学资源(PPT课件讲稿)第03章 函数.ppt
- 人民邮电出版社:《C++语言程序设计》课程教学资源(PPT课件讲稿)第02章 C++程序设计基础.ppt
- 人民邮电出版社:《C++语言程序设计》课程教学资源(PPT课件讲稿)第1章 C++概述.ppt
- 河南财经政法大学(河南财经学院):《分布式数据库系统及其应用》课程教学资源(PPT课件)第1章 分布式数据库系统概述(主讲:崔明义).ppt
- 河南财经政法大学(河南财经学院):《分布式数据库系统及其应用》课程教学资源(PPT课件)第9章 分布式数据库与WWW数据库和移动数据库.ppt
- 河南财经政法大学(河南财经学院):《分布式数据库系统及其应用》课程教学资源(PPT课件)第8章 分布式数据库与客户机服务器模式.ppt
- 河南财经政法大学(河南财经学院):《分布式数据库系统及其应用》课程教学资源(PPT课件)第7章 分布式数据库的安全性与目录管理.ppt
- 河南财经政法大学(河南财经学院):《分布式数据库系统及其应用》课程教学资源(PPT课件)第6章 分布式数据库中的可靠性.ppt
- 河南财经政法大学(河南财经学院):《分布式数据库系统及其应用》课程教学资源(PPT课件)第5章 分布式数据库中的并发控制.ppt
- 河南财经政法大学(河南财经学院):《分布式数据库系统及其应用》课程教学资源(PPT课件)第4章 分布式数据库中的事务管理和恢复.ppt
- 河南财经政法大学(河南财经学院):《分布式数据库系统及其应用》课程教学资源(PPT课件)第3章 分布式数据库中的查询处理和优化.ppt
- 河南财经政法大学(河南财经学院):《分布式数据库系统及其应用》课程教学资源(PPT课件)第2章 分布式数据库系统的设计.ppt
- 上海理工大学:《电子商务基础与应用》课程教学资源(PPT课件)第四版 第六章 网络交易行为.ppt
- 清华大学:《C++语言程序设计》课程教学资源(PPT课件)目录.ppt
- 清华大学:《C++语言程序设计》课程教学资源(PPT课件)第一章 绪论.ppt
- 清华大学:《C++语言程序设计》课程教学资源(PPT课件)第十章 群体数据的组织.ppt
- 清华大学:《C++语言程序设计》课程教学资源(PPT课件)第十一章 流类库与输入/输出.ppt
- 清华大学:《C++语言程序设计》课程教学资源(PPT课件)第十二章 异常处理.ppt
- 清华大学:《C++语言程序设计》课程教学资源(PPT课件)第十三章 MFC库与 Windows程序开发概述.ppt
- 清华大学:《C++语言程序设计》课程教学资源(PPT课件)第二章 C艹十简单程序设计.ppt
- 清华大学:《C++语言程序设计》课程教学资源(PPT课件)第三章 函数.ppt
- 清华大学:《C++语言程序设计》课程教学资源(PPT课件)第四章 类与对象.ppt
- 清华大学:《C++语言程序设计》课程教学资源(PPT课件)第五章 C艹程序的结构.ppt
- 清华大学:《C++语言程序设计》课程教学资源(PPT课件)第六章 数组指针与字 符串.ppt
- 清华大学:《C++语言程序设计》课程教学资源(PPT课件)第七章 继承与派生.ppt
- 清华大学:《C++语言程序设计》课程教学资源(PPT课件)第八章 多态性.ppt
- 清华大学:《C++语言程序设计》课程教学资源(PPT课件)第九章 群体类.ppt
- 《汇编语言程序设计》课程教学资源(PPT课件讲稿)第一章 ntel8086/8088的基本结构.ppt
- 《汇编语言程序设计》课程教学资源(PPT课件讲稿)绪言.ppt
- 《汇编语言程序设计》课程教学资源(PPT课件讲稿)第三章 汇编语言与汇编程序.ppt
- 《汇编语言程序设计》课程教学资源(PPT课件讲稿)第二章 8086/8088的寻址方式与指令系统.ppt
- 《汇编语言程序设计》课程教学资源(PPT课件讲稿)第五章 输入/输出与中断系统.ppt