北京科技大学:《C语言程序设计》课程教学资源(PPT课件讲稿)第十章 文件

C语言程序设计 第10章文件 八>此枝大营计算机鼎
1 C 语言程序设计 北京科技大学 计算机系 第10章 文 件

第10章文件 10.1文件的概念 10.2文本文件的读写 10.3二进制文件的读写 2021/2/20
2021/2/20 2 第10章 文件 10.1 文件的概念 10.2 文本文件的读写 10.3 二进制文件的读写

101文件的概述 10.1.1文件和文件指针 1.什么是文件 ●文件:存储在外部存储介质上相关数据的集合。 例如:程序文件中保存着程序,数据文件中保存着数据。 C C语言的源程序文本文件 * OBJ 目标文件 二进制文件 。EXE 可执行文件 二进制文件 文件的存储特性 文件是一个有序的数据序列。C语言把文件作 为一个字符(字节)序列处理,对文件的存取是 以字符(字节)为单位进行的。 2021/2/20
2021/2/20 3 ⚫ 文件:存储在外部存储介质上相关数据的集合。 例如:程序文件中保存着程序,数据文件中保存着数据。 *.C C语言的源程序 文本文件 *.OBJ 目标文件 二进制文件 *.EXE 可执行文件 二进制文件 ⚫ 文件的存储特性 文件是一个有序的数据序列。C语言把文件作 为一个字符(字节)序列处理,对文件的存取是 以字符(字节)为单位进行的。 10.1 文件的概述 10.1.1 文件和文件指针 1. 什么是文件

101文件的概述 10.1.1文件和文件指针 1.什么是文件 ●设备文件 在C语言中,“文件”的概念被进一步扩大 把每台与主机相连的输入输出设备都看作是一个 文件。即把实际的物理设备抽象为逻辑文件,它 们被称为设督文件 ●对外部设备的输入输出就是对设备文件的 读写。 2021/2/20
2021/2/20 4 ⚫ 设备文件 在C语言中, “文件”的概念被进一步扩大, 把每台与主机相连的输入输出设备都看作是一个 文件。即把实际的物理设备抽象为逻辑文件,它 们被称为设备文件。 ⚫ 对外部设备的输入输出就是对设备文件的 读写。 10.1 文件的概述 10.1.1 文件和文件指针 1. 什么是文件

101文件的概述 10.1.1文件和文件指针 2.文件的种类 按文件存储数据的形式 ASCI文件(或称文本文件) ASCI码文件中每个字节存放一个ASCI代码,代表 个字符,此种存储形式便于输出显示,在D0S操作系统 下可以直接阅读 二进制文件 二进制文件中的数据是按照在内存中的二进制存储 格式存放的,此种存储形式节省存储单元。二进制文件 在D0S操作系统下不能直接阅读。 2021/2/20
2021/2/20 5 ⚫ 按文件存储数据的形式 ➢ ASCII文件(或称文本文件) ASCII码文件中每个字节存放一个ASCII代码,代表 一个字符,此种存储形式便于输出显示,在DOS操作系统 下可以直接阅读。 ➢ 二进制文件 二进制文件中的数据是按照在内存中的二进制存储 格式存放的,此种存储形式节省存储单元。二进制文件 在DOS操作系统下不能直接阅读。 10.1 文件的概述 10.1.1 文件和文件指针 2. 文件的种类

101文件的概述 10.1.1文件和文件指针 2.文件的种类 例如将整数1949分别存储在这两种数据文件中。 ASCI文件:ASCⅢ码 0011101101014个字节 9 4 二进制文件:补码 00010011012个字节 2021/2/20
2021/2/20 6 例如将整数1949分别存储在这两种数据文件中。 ASCII文件:ASCII码 二进制文件:补码 占用4个字节 占用2个字节 10.1 文件的概述 10.1.1 文件和文件指针 2. 文件的种类 00110001 00111001 00110100 00111001 '1' '9' '4' '9' 00000111 10011101

101文件的概述 10.1.1文件和文件指针 2.文件的种类 ●按照对文件的处理方式 缓冲文件 83年以后 ANSI C标准中取消了非缓冲文件 系统,对文本文件和二进制文件均采用缓冲文 件系统进行处理。 非缓冲文件 利用非缓冲文件系统处理的文件称为非缓冲文件。 系统处理非缓冲文件时,不为文件开辟缓冲区,需要程 序员自行设计并管理缓冲区。 2021/2/20
2021/2/20 7 ⚫ 按照对文件的处理方式 ➢ 缓冲文件 利用缓冲文件系统处理的文件称为缓冲文件。系统 处理方法是在内存中为每个正在使用的缓冲文件开辟一 个缓冲区,其大小是512个字节。对文件读写数据都通过 缓冲区进行。 ➢ 非缓冲文件 利用非缓冲文件系统处理的文件称为非缓冲文件。 系统处理非缓冲文件时,不为文件开辟缓冲区,需要程 序员自行设计并管理缓冲区。 83年以后ANSI C标准中取消了非缓冲文件 系统,对文本文件和二进制文件均采用缓冲文 件系统进行处理。 10.1 文件的概述 10.1.1 文件和文件指针 2. 文件的种类

101文件的概述 8 10.1.1文件和文件指针 3.缓冲文件和文件指针 系统对文件的处理过程就是 对文件进行输入/输岀操作的过 程 程序区 从文件读数据时,先一次性 从磁盘文件中读取一批数据到缓 数据区 冲区,然后再从缓冲区逐个将数 输 输出输 磁盘文件 据送入变量 出 文件 向文件写数据时,也是先将 缓冲区 输入 变量中数据送到缓冲区,待缓冲 内存 外存 区装满后,再一起存到磁盘文件图102系统对缓冲文件的处理 中 2021/2/20
2021/2/20 8 系统对文件的处理过程就是 对文件进行输入/输出操作的过 程。 从文件读数据时,先一次性 从磁盘文件中读取一批数据到缓 冲区,然后再从缓冲区逐个将数 据送入变量。 向文件写数据时,也是先将 变量中数据送到缓冲区,待缓冲 区装满后,再一起存到磁盘文件 中。 10.1 文件的概述 10.1.1 文件和文件指针 3. 缓冲文件和文件指针 磁盘文件 输出 输入 图10.2 系统对缓冲文件的处理 输入 输出 程序区 数据区 文件 缓冲区 内存 外存

101文件的概述 10.1.1文件和文件指针 3.缓冲文件和文件指针 ●文件类型指旨针 typedef struct t short level; / fill/empty level of buffer * uni gned flags; / File status flags * char fd / File descriptor / unsigned char hold; Ungetc char if no buffer * short bsize / Buffer size / unsigned char *buffer;/* Data transfer buffer */ unsigned char curp / Current active pointer * unsigned istemp / Temporary file indicator * short token; / Used for validity checking */ FILE / This is the File object * 2021/2/20
2021/2/20 9 10.1 文件的概述 10.1.1 文件和文件指针 3. 缓冲文件和文件指针 ⚫ 文件类型指针 在缓冲文件系统中,对每个正在使用的文件 都自动分配一个FILE类型的结构体变量,用于 存放文件的有关信息,如文件号、文件状态、 缓冲区地址和大小等。 FILE在类型是系统定义的,包含在 C语言中,无论对磁盘文件stdio.h 还是设备文件 头文件中 的读/写都要通过FILE类型的结构体变量进行。 因此对于每个使用中的磁盘文件必须先定义一 个FILE类型的文件指针变量并指向此变量。 FILE *文件指针变量名; typedef struct { short level; /* fill/empty level of buffer */ unsigned flags; /* File status flags */ char fd; /* File descriptor */ unsigned char hold; /* Ungetc char if no buffer */ short bsize; /* Buffer size */ unsigned char *buffer; /* Data transfer buffer */ unsigned char *curp; /* Current active pointer */ unsigned istemp; /* Temporary file indicator */ short token; /* Used for validity checking */ } FILE; /* This is the FILE object */

101文件的概述 10 10.1.1文件和文件指针 4.标准文件 标准文件是外部设备中的三个特殊的设备文件。它们 的文件指针是系统定义的,并由系统自动打开和关闭。这 三个标准文件分别是: ①标准输入文件,文件指针为din,系统指定为 ②标准输出文件,文件指针为 stdout,系统指定为 显示。 ③标准错误输出文件,文件指针为 stderr,系统指 定为显示器,输出错误信息。 2021/2/20
2021/2/20 10 标准文件是外部设备中的三个特殊的设备文件。它们 的文件指针是系统定义的,并由系统自动打开和关闭。这 三个标准文件分别是: ① 标准输入文件,文件指针为stdin,系统指定为 键盘。 ② 标准输出文件,文件指针为stdout,系统指定为 显示器。 ③ 标准错误输出文件,文件指针为stderr,系统指 定为显示器,输出错误信息。 10.1 文件的概述 10.1.1 文件和文件指针 4. 标准文件
按次数下载不扣除下载券;
注册用户24小时内重复下载只扣除一次;
顺序:VIP每日次数-->可用次数-->下载券;
- 国防工业出版社:《网络安全技术教程》教材书籍电子版(PDF电子书,共六章,主编:赵小林).pdf
- 《Linux 基础及应用》 第九章 网络基础.ppt
- 《Linux 基础及应用》 第八章 应用程序.ppt
- 《Linux 基础及应用》 第七章 进程管理与系统监视.ppt
- 《Linux 基础及应用》 第六章 文件系统与文件管理.ppt
- 《Linux 基础及应用》 第五章 用户与组群管理.ppt
- 《Linux 基础及应用》 第四章 字符界面与 Shell.ppt
- 《Linux 基础及应用》 第三章 X Window图形代用户界面.ppt
- 《Linux 基础及应用》 第二章 安装与删除 Linux.ppt
- 《Linux 基础及应用》 第一章 Linux概况.ppt
- 《Linux 基础及应用》 第十章 网络服务器.ppt
- 上海应用技术大学:《SQLServer 2000数据库应用技术》课程教学资源(PPT课件讲稿)第十八章 SQL Server应用实例.ppt
- 上海应用技术大学:《SQLServer 2000数据库应用技术》课程教学资源(PPT课件讲稿)第十七章 VB/ SQL Server应用程序开发.ppt
- 上海应用技术大学:《SQLServer 2000数据库应用技术》课程教学资源(PPT课件讲稿)第十六章 SQL Server数据的网页发布.ppt
- 上海应用技术大学:《SQLServer 2000数据库应用技术》课程教学资源(PPT课件讲稿)第十五章 数据转换.ppt
- 上海应用技术大学:《SQLServer 2000数据库应用技术》课程教学资源(PPT课件讲稿)第十四章 数据庠复制.ppt
- 上海应用技术大学:《SQLServer 2000数据库应用技术》课程教学资源(PPT课件讲稿)第十三章 数据备份与恢复.ppt
- 上海应用技术大学:《SQLServer 2000数据库应用技术》课程教学资源(PPT课件讲稿)第十二章 安全管理.ppt
- 上海应用技术大学:《SQLServer 2000数据库应用技术》课程教学资源(PPT课件讲稿)第十一章 游标.ppt
- 上海应用技术大学:《SQLServer 2000数据库应用技术》课程教学资源(PPT课件讲稿)第十章 存储过程与触发景.ppt
- 北京科技大学:《C语言程序设计》课程教学资源(PPT课件讲稿)第一章 概述.ppt
- 北京科技大学:《C语言程序设计》课程教学资源(PPT课件讲稿)第二章 C语言的基础.ppt
- 北京科技大学:《C语言程序设计》课程教学资源(PPT课件讲稿)第三章 程序的三种基本结构.ppt
- 北京科技大学:《C语言程序设计》课程教学资源(PPT课件讲稿)第四章 i语句.ppt
- 北京科技大学:《C语言程序设计》课程教学资源(PPT课件讲稿)第五章 while循环控制.ppt
- 北京科技大学:《C语言程序设计》课程教学资源(PPT课件讲稿)第六章 数组.ppt
- 北京科技大学:《C语言程序设计》课程教学资源(PPT课件讲稿)第七章 函数与预处理命令.ppt
- 北京科技大学:《C语言程序设计》课程教学资源(PPT课件讲稿)第八章 指针.ppt
- 北京科技大学:《C语言程序设计》课程教学资源(PPT课件讲稿)第九章 结构体与共用体.ppt
- 软件工程师培训系列教材:《Java语言基础》电子课件.ppt
- 《autocad2007快速入门》学习资料(共十一章).pdf
- 清华大学:《C语言程序设计》课程电子教案(PPT教学课件,第二版)第1-第7章.ppt
- 《多媒体技术基础》课程教学资源(PPT课件讲稿)第一章 绪论、第二章 媒体与媒体技术.ppt
- 《多媒体技术基础》课程教学资源(PPT课件讲稿)第一章 绪论、第二章 媒体与媒体技术、第三章 多媒体数据压缩技术.ppt
- 《多媒体技术基础》课程教学资源(PPT课件讲稿)第一章 绪论、第二章 媒体与媒体技术.ppt
- 《多媒体技术基础》课程教学资源(PPT课件讲稿)霍夫曼编码、预测编码、统计编码、变换编码.ppt
- 《多媒体技术基础》课程教学资源(PPT课件讲稿)第三章 多媒体数据压缩技术.ppt
- 《多媒体技术基础》课程教学资源(PPT课件讲稿)第四章 多媒体硬基础.ppt
- 《多媒体技术基础》课程教学资源(PPT课件讲稿)复习题.ppt
- 《多媒体技术基础》课程教学资源(PPT课件讲稿)第十章 分布式多媒体处理技术.ppt