教学文库网 - 权威文档分享云平台
您的当前位置:首页 > 范文大全 > 文秘资料 >

C语言程序设计教程 第10章 文件

来源:网络收集 时间:2026-09-04
导读: C语言程序设计教程 1 C 语言程序设计 第10章 10章 文 件北京科技大学 计算机系 C语言程序设计教程 第10章 文件 10章10.1 文件的概念 10.2 文本文件的读写 10.3 二进制文件的读写 2 2010-12-6 C语言程序设计教程 10.1 文件的概述10.1.1 文件和文件指针 1. 什

C语言程序设计教程

1

C 语言程序设计

第10章 10章

文 件北京科技大学 计算机系

C语言程序设计教程

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

2

2010-12-6

C语言程序设计教程

10.1 文件的概述10.1.1 文件和文件指针 1. 什么是文件 文件:存储在外部存储介质上相关数据的集合。 文件:存储在外部存储介质上相关数据的集合。 外部存储介质上相关数据的集合例如:程序文件中保存着程序 , 数据文件中保存着数据 。 例如 : 程序文件中保存着程序, 数据文件中保存着数据。 *.C C语言的源程序 文本文件 *.OBJ 目标文件 二进制文件 *.EXE 可执行文件 二进制文件

3

文件的存储特性 文件是一个有序的数据序列 有序的数据序列。 文件是一个有序的数据序列。C语言把文件作 一个字符(字节)序列处理 处理, 为一个字符(字节)序列处理,对文件的存取是 以字符(字节)为单位进行的。 以字符(字节)为单位进行的。2010-12-6

C语言程序设计教程

10.1 文件的概述10.1.1 文件和文件指针 1. 什么是文件

4

设备文件在C语言中,“文件”的概念被进一步扩大, 语言中, 文件”的概念被进一步扩大, 把每台与主机相连的输入输出设备 输入输出设备都看作是一个 把每台与主机相连的输入输出设备都看作是一个 文件。即把实际的物理设备抽象为逻辑文件, 文件。即把实际的物理设备抽象为逻辑文件,它 们被称为设备文件 设备文件。 们被称为设备文件。

对外部设备的输入输出就是对设备文件的 读写。 读写。

2010-12-6

C语言程序设计教程

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

5

2010-12-6

C语言程序设计教程

10.1 文件的概述10.1.1 文件和文件指针 2. 文件的种类 例如将整数1949分别存储在这两种数据文件中。 例如将整数1949分别存储在这两种数据文件中。 1949分别存储在这两种数据文件中 ASCII文件:ASCII码 文件: 文件

码00110001 00111001 00110100 00111001 ' 1' ' 9' ' 4' ' 9'

6

占用4个字节 占用 个字节

二进制文件: 二进制文件:补码00000111 10011101

占用2个字节 占用 个字节

2010-12-6

C语言程序设计教程

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

7

2010-12-6

C语言程序设计教程

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

8

程序区

数据区 输入 输出 磁盘文件 输出

文件 缓冲区 输入 内存 外存

图10.2 系统对缓冲文件的处理

2010-12-6

C语言程序设计教程

10.1 文件的概述10.1.1 文件和文件指针 3. 缓冲文件和文件指针

9

文件类型指针在缓冲文件系统中,对每个正在使用的文件 缓冲文件系统中 typedef struct { FILE类型的 结构体变量, 都自动分配一个FILE 类型的结构体变量 of buffer 都自动分配一个 FILE 类型的 结构体变量 , 用于 */ short level; /* fill/empty level 存放文件的有关信息, 如文件号、 文件状态、 存放文件的有关信息 , 如文件号 、 文件状态 、 unsigned flags; /* File status flags */ char fd; */ 缓冲区地址和大小等。 缓冲区地址和大小等。 /* File descriptor unsigned char hold; /* Ungetc char if no buffer */ 语言中, 无论对磁盘文件 还是 在 C 语言中 , 无论对 磁盘文件size 设备文件 FILE类型是系统定

义的,包含在stdio.h头文件中 FILE类型是系统定义的,包含在stdio.h头文件中 类型是系统定义的 磁盘文件还是 stdio.h头文件 short bsize; /* Buffer 还是设备文件 */ unsigned char FILE类型的结构体变量进行 *buffer; /* Data transfer buffer */ 都要通过FILE类型的结构体变量进行。 的读/写都要通过FILE类型的结构体变量进行。 unsigned char *curp; /* Current active pointer */ 因此对于每个使用中的磁盘文件 必须先 定义一 对于每个使用中的磁盘文件必须 indicator 因此 对于每个使用中的磁盘文件 必须 先 定义 一 */ unsigned istemp; /* Temporary file FILE类型的文件指针变量并指向此变量。 类型的文件指针变量并指向此变量 checking */ 个FILE类型的文件指针变量并指向此变量。 short token; /* Used for validity } FILE; /* ; FILE *文件指针变量名This is the FILE object */ 文件指针变量名;2010-12-6

C语言程序设计教程

10.1 文件的概述10.1.1 文件和文件指针 4. 标准文件标准文件是外部设备中的三个特殊的设备文件 标准文件是外部设备中的三个特殊的设备文件。它们 是外部设备中的三个特殊的设备文件。 的文件指针是系统定义的,并由系统自动打开和关闭 自动打开和关闭。 的文件指针是系统定义的,并由系统自动打开和关闭。这 三个标准文件分别是: 三个标准文件分别是:

10

① 标准输入文件 , 文件指针为 stdin,系统指定为 标准输入文件,文件指针为stdin, 键盘。 键盘。 ② 标准输出文件,文件指针为stdou …… 此处隐藏:5211字,全部文档内容请下载后查看。喜欢就下载吧 ……

C语言程序设计教程 第10章 文件.doc 将本文的Word文档下载到电脑,方便复制、编辑、收藏和打印
本文链接:https://www.jiaowen.net/fanwen/1993879.html(转载请注明文章来源)
Copyright © 2020-2025 教文网 版权所有
声明 :本网站尊重并保护知识产权,根据《信息网络传播权保护条例》,如果我们转载的作品侵犯了您的权利,请在一个月内通知我们,我们会及时删除。
客服QQ:78024566 邮箱:78024566@qq.com
苏ICP备19068818号-2
Top
× 游客快捷下载通道(下载后可以自由复制和排版)
VIP包月下载
特价:29 元/月 原价:99元
低至 0.3 元/份 每月下载150
全站内容免费自由复制
VIP包月下载
特价:29 元/月 原价:99元
低至 0.3 元/份 每月下载150
全站内容免费自由复制
注:下载文档有可能出现无法下载或内容有问题,请联系客服协助您处理。
× 常见问题(客服时间:周一到周五 9:30-18:00)