第十章文件 C文仵的概迷 1、什么是文件?我们所说的文件是存储在磁盘上的 数据集合,也就是我们说的数据文件 2、文件用来保存什么数据?可以保存程序中使用 的数据,比如学生成绩单,也可以保存程序的运行结 果,不如对成绩单的排序、程序计算出的一组数据等。 3、c语言文件的组成:C语言文件是以字符(字节) 为单位存储的,也就是每一个C语言文件都是一个字 符序列,C语言文件分两种存储方式 种是文本( ASCII码)文件:文件中每一个字 节存放一个字符 另一种是二进制文件:是把内存中的二进制数直 接存储到磁盘文件中
第十章 文件 一、 C 文件的概述 1、什么是文件?我们所说的文件是存储在磁盘上的 数据集合,也就是我们说的数据文件。 2、文件用来保存什么数据?可以保存程序中使用 的数据,比如学生成绩单,也可以保存程序的运行结 果,不如对成绩单的排序、程序计算出的一组数据等。 3、C语言文件的组成:C语言文件是以字符(字节) 为单位存储的,也就是每一个C语言文件都是一个字 符序列,C语言文件分两种存储方式。 一种是文本(ASCII码)文件:文件中每一个字 节存放一个字符。 另一种是二进制文件:是把内存中的二进制数直 接存储到磁盘文件中
两种存储方式的比较 文本文件特点 存储量大、速度慢、便于对字符操作 如int型数10000 ASCI形式 0011000100110000001100000011000000110000 000 001001100 内存存储形式 进制形式 二进制文件特点: 存储量小、速度快、便于存放中间结果
如 int型数10000 0010011100010000 内存存储形式 0010011100010000 二进制形式 0011000100110000001100000011000000110000 ASCII形式 文本文件特点: 存储量大、速度慢、便于对字符操作 二进制文件特点: 存储量小、速度快、便于存放中间结果 两种存储方式的比较
4、什么是缓冲文件系统? 输入文件缓冲区 缓冲文件系统: 磁盘文件 程序数据区 输出文件缓冲区
磁盘文件 输出文件缓冲区 输入文件缓冲区 程序数据区 a 缓冲文件系统: 4、什么是缓冲文件系统?
二、文件类型指钋 1、什么是文件结构体FILE? 1)缓冲文件系统为每个正使用的文件在内存开辟文件 信息区 2)文件信息用系统定义的名为FIE的结构体描述 3)FIE定义在 stdio he中 typedef struct 用 typedef定义类型 i int fd ∥文件号 例如 int cleft,/缓冲区中剩下的字符数 pedel int int mode;∥文件操作方式 maino char*next;∥文件当前读写位置 RINTEGER a b char*buf;/x件缓冲区位置 REAL I SFILE
二、 文件类型指针 1、什么是文件结构体FILE ? 1)缓冲文件系统为每个正使用的文件在内存开辟文件 信息区 2)文件信息用系统定义的名为FILE的结构体描述 3)FILE定义在stdio.h中 typedef struct { int _fd; //文件号 int _cleft; //缓冲区中剩下的字符数 int _mode; //文件操作方式 char *_next; //文件当前读写位置 char *_buff; //文件缓冲区位置 }FILE; 用typedef 定义类型 例如: typedef int INTEGER; typedef float REAL; main() {INTEGER a,b; REAL f; ….. }
2、文件类型指针 1)指针变量说明:FILE*fp; 用法: ◎文件打开时,系统自动建立文件结构 体。并把指向它的指针返回来。程序 通过这个指针获得文件信息访问文件 ◎文件关闭后,它的文件结构体被释放
2、文件类型指针 1)指针变量说明:FILE *fp; 用法: ⚫文件打开时,系统自动建立文件结构 体,并把指向它的指针返回来,程序 通过这个指针获得文件信息,访问文件 ⚫文件关闭后,它的文件结构体被释放