《C语言程序设计》课程教学资源:第十章 文件

第10章文件 本章要点 10.1文件的基本概念概述 10.2文件类型及其指针 10.3文件的打开和关闭 104文件的输入和输出 10.5文件的定位函数 10.6出错检测函数
第10章文件 本章要点 10.1 文件的基本概念概述 10.2 文件类型及其指针 10.3 文件的打开和关闭 10.4 文件的输入和输出 10.5 文件的定位函数 10.6 出错检测函数

本章要点 ◆文件中数据的组织形式:文本文件、二进制文件 ◆文件的打开函数和关闭函数 ◆文件的输入和输出函数 ◆缓冲文件操作函数的使用
❖ 本章要点 ❖ ◆ 文件中数据的组织形式:文本文件、二进制文件 ❖ ◆ 文件的打开函数和关闭函数 ❖ ◆ 文件的输入和输出函数 ❖ ◆ 缓冲文件操作函数的使用

10.1文件的基本概念 10.1.1文件的概念及分类 1.文件的概念 令文件是程序设计中的一个重要概念。所谓“文件”是指一组 相关数据的有序集合。这个数据集的名称,就叫做文件。实 际上在前面的各章中我们已经多次使用了文件,例如源程序 文件、目标文件、可执行文件、库文件(头文件)等
10.1文件的基本概念 ❖ 10.1.1文件的概念及分类 ❖ 1.文件的概念 ❖ 文件是程序设计中的一个重要概念。所谓“文件”是指一组 相关数据的有序集合。这个数据集的名称,就叫做文件。实 际上在前面的各章中我们已经多次使用了文件,例如源程序 文件、目标文件、可执行文件、库文件(头文件)等

2文件的分类 1)按数据格式分类。 冷C语言把文件看成是一个字符(字节)的序列,即由一个 个字符(字节)数据组成,按数据格式可分为二进制文件 (二进制流)和文本文件(字符流),虽然它们都是字节序 列,但它们表示数据的形式和存储方式不同,所以C语 言对它们要区别处理。 2)按读写方式分类 按文件的读写方式,可以把文件分为“顺序文件” 和“随机文件”。对顺序文件来说,读写必须从头开始 对随机文件来说,读写的过程是随机的
2.文件的分类 1)按数据格式分类。 ❖ C语言把文件看成是一个字符(字节)的序列,即由一个 个字符(字节)数据组成,按数据格式可分为二进制文件 (二进制流)和文本文件(字符流),虽然它们都是字节序 列,但它们表示数据的形式和存储方式不同,所以C语 言对它们要区别处理。 2)按读写方式分类。 ❖ 按文件的读写方式,可以把文件分为“顺序文件” 和“随机文件”。对顺序文件来说,读写必须从头开始。 对随机文件来说,读写的过程是随机的

10.12文件缓冲区 C系统对文件的处理方式有两种:缓冲文件和非缓冲文件。 (1)缓冲文件 令所谓缓冲文件系统是指系统自动地在内存区为每个正在使 用的文件开辟一个缓冲区。当从内存向磁盘输出数据时, 先将数据送到内存缓冲区,待缓冲区装满后,再一起送到 磁盘文件保存;当从磁盘文件读入数据时,则一次从磁盘 文件中将一批数据输入到内存缓冲区,然后再从缓冲区逐 个地将数据送到程序数据区。 程序数据Ⅸ 外在 输出變冲 输入變冲Ⅸ 输入
10.1.2 文件缓冲区 ❖ C 系统对文件的处理方式有两种:缓冲文件和非缓冲文件。 (1)缓冲文件 ❖ 所谓缓冲文件系统是指系统自动地在内存区为每个正在使 用的文件开辟一个缓冲区。当从内存向磁盘输出数据时, 先将数据送到内存缓冲区,待缓冲区装满后,再一起送到 磁盘文件保存;当从磁盘文件读入数据时,则一次从磁盘 文件中将一批数据输入到内存缓冲区,然后再从缓冲区逐 个地将数据送到程序数据区

(2)非缓冲文件 所谓非缓冲文件系统是指系统不自动开辟一个内存 缓冲区,而由用户根据所处理数据量的大小在程序中设 置数据缓冲区
(2)非缓冲文件 ❖ 所谓非缓冲文件系统是指系统不自动开辟一个内存 缓冲区,而由用户根据所处理数据量的大小在程序中设 置数据缓冲区

1013设备文件 由于计算机中的输入输出设备的作用是输入输出数据, 其功能和文件的读取数据/写入数据相似,所以操作系 统把输入/输出设备也看成文件,称为设备文件。 计算机的常用输入设备是键盘,称标准输入设备; 常用输出设备是显示器,称标准输出设备;还有二个专 用于输出错误信息的标准错误输出设备,也是显示器。 从输入设备上读取数据,可以看成是从输入设备文 中读数据:将数据写到输出设备上,可以看成是写到 出设备文件中
10.1.3 设备文件 ❖ 由于计算机中的输入/输出设备的作用是输入输出数据, 其功能和文件的读取数据/写入数据相似,所以操作系 统把输入/输出设备也看成文件,称为设备文件。 ❖ 计算机的常用输入设备是键盘,称标准输入设备; 常用输出设备是显示器,称标准输出设备;还有一个专 用于输出错误信息的标准错误输出设备,也是显示器。 ❖ 从输入设备上读取数据,可以看成是从输入设备文 件中读数据:将数据写到输出设备上,可以看成是写到 输出设备文件中

102文件类型及其指针 当在C语言程序中操作一个实际的磁盘文件时,需要一个流指针 来代表这个文件。流指针其实是一个结构体类型的指针,这个结 构体被定义在头文件 stdio. h中,它详细描述 ¢流的性质,箕 形式如下 typedef struct short leve;/缓冲区“满”或者“空”的程度* unsigned flags;/户文件状态标志 char fd;/*文件描述符* unsigned char hold;/*如果无缓冲区则不读取字符* short bsize;/缓冲区的大小* unsigned char*buffer;/数据缓冲区的位置* unsigned char'curp;"指针,当前的指向 unsigned istemp;/临时文件指示器* short token;/用于有效性检查 F‖LE
10.2 文件类型及其指针 当在C语言程序中操作一个实际的磁盘文件时,需要一个流指针 来代表这个文件。流指针其实是一个结构体类型的指针,这个结 构体被定义在头文件stdio.h中,它详细描述了一个流的性质,其 形式如下: typedef struct { short level; /*缓冲区“满”或者“空”的程度*/ unsigned flags; /*户文件状态标志*/ char fd; /*文件描述符*/ unsigned char hold; /*如果无缓冲区则不读取字符*/ short bsize; /*缓冲区的大小*/ unsigned char*buffer; /*数据缓冲区的位置*/ unsigned char*curp; /*指针,当前的指向*/ unsigned istemp; /*临时文件指示器*/ short token; /*用于有效性检查*/ }FILE;

103文件的打开和关闭 10.3.1文件打开函数 文件打开函数 fopen0的原型是 FILE fopen (char name, char mode) 该函数是指针型函数,调用后返回文件类指针。有两个函数参 数,都是字符型指针,其中name用来接收“文件名”(字符 串),mode用来接收“文件操作方式”(字符串)。因此该函 数调用方式是 p= fopen("文件名","文件操作方式") 其中, “文件指针名”fp必须是被说明为FLE类型的指针变量 “文件名”是被打开文件的文件名; 文件操作方式"是指文件的类型和操作要求
10.3 文件的打开和关闭 10.3.1 文件打开函数 文件打开函数fopen()的原型是: FILE*fopen(char*name,char*mode); 该函数是指针型函数,调用后返回文件类指针。有两个函数参 数,都是字符型指针,其中name用来接收“文件名”(字符 串),mode用来接收“文件操作方式”(字符串)。因此该函 数调用方式是: fp=fopen("文件名" , "文件操作方式"); 其中, “文件指针名” fp必须是被说明为FILE 类型的指针变量; “文件名”是被打开文件的文件名; "文件操作方式"是指文件的类型和操作要求

mode的取值与所代表的含义 type 含义 」文件不存在时|文件存在时 是号方打开不*交件需女开交团件内至 以追加方式打开一个文本文件建立新文件 打开文件,只能从文件屠 向文件追加数据 以读写方式打开一个文本文件|返回锴误标志打开文件 以读/写方式建立一个新的文本 打开文件,原文件内容清 文件 建立新文件 a+‖以读/写方式打开—个文本文件|建立新文件 打开文件,可从文件中读 取或往文件中写人数据 rb 以只读方式打开一个二进制文件返回错误标志打开文件 wb 以只写方式打开一个二进制文件建立新文件 打开文件,原文件内容清 以追加方式打开一个二进制文件建立新文件 打开文件,从文件尾向文 件追加数据 以读/写方式打开一个二进制女返回错误标志打开文件 件 wb+以读/写方式打开一个新的二进|建立新文件 打开文件,原文件内容清 制文件 以写方式打开一个进制文建文新文件 打开文件,可从文件读取 件 或往文件中写人数据
mode的取值与所代表的含义
按次数下载不扣除下载券;
注册用户24小时内重复下载只扣除一次;
顺序:VIP每日次数-->可用次数-->下载券;
- 《C语言程序设计》课程教学资源:绪论.ppt
- 《计算机文化基础》课程PPT教学课件(电子教案)第八章 计算机网络基础与 nternet的使用.ppt
- 《计算机文化基础》课程PPT教学课件(电子教案)第七章 FrontPage XP网页制作.ppt
- 《计算机文化基础》课程PPT教学课件(电子教案)第六章 Power Point XP演示文 稿制作.ppt
- 《计算机文化基础》课程PPT教学课件(电子教案)第五章 Exce XP电子表格处理.ppt
- 《计算机文化基础》课程PPT教学课件(电子教案)第四章 Word XP文字处理.ppt
- 《计算机文化基础》课程PPT教学课件(电子教案)第三章 windows xp操作系统.ppt
- 《计算机文化基础》课程PPT教学课件(电子教案)第二章 指法及汉字录入.ppt
- 《计算机文化基础》课程PPT教学课件(电子教案)第一章 电子计算机的基础知识.ppt
- 《计算机文化基础》课程教学资源(教学大纲).doc
- 黔南电大:《计算机文化基础》电子课件.ppt
- 《计算机文化基础》课程教学资源(PPT课件讲稿)第一章 计算机基础知识.ppt
- 《计算机网络基础与internet应用》讲义.ppt
- 《计算机文化基础》课程教学资源(PPT课件讲稿)计算机系统的组成.ppt
- 《C语言程序设计(Visual C++ 6.0环境)》 第九章 文件.ppt
- 《C语言程序设计(Visual C++ 6.0环境)》 第八章 位运算.ppt
- 《C语言程序设计(Visual C++ 6.0环境)》 第七章 结构体、联合体和枚举类型.ppt
- 《C语言程序设计(Visual C++ 6.0环境)》 第六章 指针和引用.ppt
- 《C语言程序设计(Visual C++ 6.0环境)》 第五章 函数与预处理.ppt
- 《C语言程序设计(Visual C++ 6.0环境)》 第四章 数组.ppt
- 《C语言程序设计》课程教学资源:第十一章 实例演示.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
- 《C语言程序设计》课程教学资源(PPT课件讲稿)第九章 预处理命令和常用库函数.ppt
- 《多媒体技术基础》课程教学资源(PPT课件讲稿)第一章 绪论.ppt
- 《多媒体技术基础》课程教学资源(PPT课件讲稿)霍夫曼编码、预测编码、统计编码、变换编码.ppt
- 《多媒体技术基础》课程教学资源(PPT课件讲稿)第三章 多媒体数据压缩技术.ppt
- 《多媒体技术基础》课程教学资源(PPT课件讲稿)复习题.ppt
- 《多媒体技术基础》课程教学资源(PPT课件讲稿)第十章 分布式多媒体处理技术.ppt
- 《多媒体技术基础》课程教学资源(PPT课件讲稿)第十一章 多媒体应用.ppt
- 《多媒体技术基础》课程教学资源(PPT课件讲稿)第五章 多媒体软件平台.ppt
- 《多媒体技术基础》课程教学资源(PPT课件讲稿)第六章 多媒体编程技术.ppt
- 《多媒体技术基础》课程教学资源(PPT课件讲稿)第七章 多媒体通信网络技术.ppt
- 《多媒体技术基础》课程教学资源(PPT课件讲稿)第八章 多媒体信息管理技术.ppt