第10章文件 第10章文件 10,1文件的概述 10.2文件类型及文件变量的定义 10.3文件操作 104文件的读写 10.5文件的定位 10.6文件应用举例 Back
第10章 文件 第10章 文件 10.1 文件的概述 10.2文件类型及文件变量的定义 10.3文件操作 10.4文件的读写 10.5文件的定位 10.6文件应用举例
第10章文件 10.1文件的概念 10.1.1变量的地址与变量的内容 文件就是指存储在外存储介质(如磁盘)上的 逻辑上具有完整意乂的数据集合,每个文件都用一个 名字(称为文件名)作标识,通过文件名来达到对数 据存取的目的,即所谓“按名称取
第10章 文件 10.1 文件的概念 10.1.1 变量的地址与变量的内容 文件就是指存储在外存储介质(如磁盘)上的 逻辑上具有完整意义的数据集合,每个文件都用一个 名字(称为文件名)作标识,通过文件名来达到对数 据存取的目的,即所谓“按名称取”
第10章文件 102文件类型及文件变量的定义 1、文件类型 计算机的文件类型有很多,本章我们仅讨论通过C程序的 输入输岀操作所涉及的、存储在磁盘上的文件。对文 件可按各种方法进行分类,本章将按以下两种分类方 法,一是按文件中数据格式分类,二是按文件读写方 式分类
第10章 文件 10.2 文件类型及文件变量的定义 1、文件类型 计算机的文件类型有很多,本章我们仅讨论通过C程序的 输入输出操作所涉及的、存储在磁盘上的文件。对文 件可按各种方法进行分类,本章将按以下两种分类方 法,一是按文件中数据格式分类,二是按文件读写方 式分类
第10章文件 (1)按数据格式分类 所谓文本文件就是指,当输出时,数据按面值转换成一串字符, 每个字符以字符的ASC代码存储到文件中,一个字符占一个字节。 个单精度型数据-12.34在内存中占四个字节,当把它以字符 代码的形式存储到文件中时,系统将把它转换成-、1、2、(点号)、3、 4六个字符的ASCⅢ码并把这些代码依次存入文件中,在文件中占六个 字节
第10章 文件 (1) 按数据格式分类 所谓文本文件就是指,当输出时,数据按面值转换成一串字符, 每个字符以字符的ASCII代码存储到文件中,一个字符占一个字节。 一个单精度型数据-12.34在内存中占四个字节,当把它以字符 代码的形式存储到文件中时,系统将把它转换成-、1、2、.(点号)、3、 4六个字符的ASCII码并把这些代码依次存入文件中,在文件中占六个 字节
第10章文件 对于一个字符型数据,占一个字节;对于 int型数据,每个数据占两个字节,其他依次类 推。当对二进制文件进行输入输出操作,不必 经过任何转换,可直接将数据输入输出,从而 提高文件操作速度 注意:不能将二进制数据直接输出到终端屏 幕,也不能从键盘输入二进制数据
第10章 文件 对于一个字符型数据,占一个字节;对于 int型数据,每个数据占两个字节,其他依次类 推。当对二进制文件进行输入输出操作,不必 经过任何转换,可直接将数据输入输出,从而 提高文件操作速度。 注意:不能将二进制数据直接输出到终端屏 幕,也不能从键盘输入二进制数据
第10章文件 (2)按读写方式分类 a.顺序文件:读写必须从文件头开始,读取顺序文件中 的数据时,从第一个数据读取,直到读取的数据要处 理的数据为止。如果要把处理后的第n个数据写回顺 序文件中,先要写前n-1个数据 b.随机文件:读写的过程是随机的。只要将当前文件中 的读写位置设置好,则可对这个数据进行读写操作
第10章 文件 (2)按读写方式分类 a. 顺序文件:读写必须从文件头开始,读取顺序文件中 的数据时,从第一个数据读取,直到读取的数据要处 理的数据为止。如果要把处理后的第n个数据写回顺 序文件中,先要写前n-1个数据。 b. 随机文件:读写的过程是随机的。只要将当前文件中 的读写位置设置好,则可对这个数据进行读写操作
第10章文件 2、文件型指针 文件型指针,实际上是指向一个结构体类型的指 针变量,这个结构体中包含有诸如:缓冲区的地址、在 缓冲区中当前存取的字符的位置、对文件是“读”还是 “写”、是否出错、是否已经遇到文件结束标志等信息。 对于这个结构型类型,系统已经在名为“ stdio.h头文件 中定义好了 <Ba
第10章 文件 2、文件型指针 文件型指针,实际上是指向一个结构体类型的指 针变量,这个结构体中包含有诸如:缓冲区的地址、在 缓冲区中当前存取的字符的位置、对文件是“读”还是 “写” 、是否出错、是否已经遇到文件结束标志等信息。 对于这个结构型类型,系统已经在名为“stdio.h”头文件 中定义好了
第10章文件 其格式如下: typedef struct int fd;/文件代号* int cleft;倖*缓冲区中剩下的字符* int mode;/*文件操作模式* char* nextc;/下一个字符位置* char*butf;/*文件缓冲区位置* FILE; Back
第10章 文件 其格式如下: typedef struct { int _fd; /*文件代号*/ int _cleft; /*缓冲区中剩下的字符*/ int _mode; /*文件操作模式*/ char *_nextc; /*下一个字符位置*/ char *_buff; /*文件缓冲区位置*/ }FILE;
第10章文件 定义文件型指针变量的一般形式为: FLE*文件型指针变量名 例如: FILE fp; 其中,印是一个指向FIE类型结构体的指针变量 我们可以使印指向某一个文件的结构体变量,从而 通过该结构体变量中的文件信息能够访问到该文 件。也就是说,通过文件指针变量能够找到与它 相关的文件并访问这个文件
第10章 文件 定义文件型指针变量的一般形式为: FILE *文件型指针变量名 例如: FILE *fp; 其中,fp是一个指向FILE类型结构体的指针变量。 我们可以使fp指向某一个文件的结构体变量,从而 通过该结构体变量中的文件信息能够访问到该文 件。也就是说,通过文件指针变量能够找到与它 相关的文件并访问这个文件
第10章文件 前面已介绍的三种标准设备文件,系统启动后会自动打 开,并且均有一个文件型指针和它们相对应,具体如 下 标准设备文件 文件型指针名 标准输入设备(键盘) stdin 标准输出设备(显示器) stdout 标准错误输出设备(显示器) stderr 退出系统时自动关闭这三个标准设备文件
第10章 文件 前面已介绍的三种标准设备文件,系统启动后会自动打 开,并且均有一个文件型指针和它们相对应,具体如 下: 标准设备文件 文件型指针名 标准输入设备(键盘) stdin 标准输出设备(显示器) stdout 标准错误输出设备(显示器) stderr 退出系统时自动关闭这三个标准设备文件