C语言序设计 第十三章文件 任倮老师:彭金莲
第十三章 文 件 任课老师:彭金莲
本章要求 令1、文件中数据的组织形式:文本文件、二进 制文件。 2、打开文件的含义,为什么要关闭文件? 令3、缓冲文件操作函数的使用 上一页下一页 返回
上一页 下一页 返回 第十三章 文 件 计算机系彭金莲制作 本章要求 v 1、文件中数据的组织形式:文本文件、二进 制文件。 v 2、 打开文件的含义,为什么要关闭文件? v 3、缓冲文件操作函数的使用
第十三章文件 13.1C文件概述 13.2文件类型指针 13.3文件的打开与关闭 13.4文件的读写 ☆13.5文件的定位 13.6文件的检测 上一页下一页 返回
上一页 下一页 返回 第十三章 文 件 计算机系彭金莲制作 第十三章 文 件 v 13.1 C文件概述 v 13.2 文件类型指针 v 13.3 文件的打开与关闭 v 13.4 文件的读写 v 13.5 文件的定位 v 13.6 文件的检测
13.1C文件概述 文件的概念 冷1、“文件(file)”:是记录在介质上的数据的集合,以文件名作为 访问文件的标识。 令介质:一般是磁盘、磁带、光盘等 令2、内存文件:在内存中开辟一段空间,以文件的方式存放数据 如、DOS虚拟磁盘驱动程序 RAMDRIVE SYS建立的虚拟磁盘上 存放的文件。 Windows9ⅹ恢复盘也建立虚拟磁盘,用于临时存放 系统命令文件。 ◆3、操作系统把与主机关联的终端也当作文件处理,如: 键盘:输入文件 显示器:输出文件 打印机:输出文件 令4、C语言把文件看作一个字节序列,即由一连串的字节组成,称 为“流( stream)3,以字节为单位访问,没有记录的界限(实际存 在界限,例如,在FAT16文件系统中,文件的最大长度是2GB) 上一页下一页 返回
上一页 下一页 返回 第十三章 文 件 计算机系彭金莲制作 13.1 C文件概述 v 一、文件的概念 v 1、 “文件(file)” :是记录在介质上的数据的集合,以文件名作为 访问文件的标识。 v 介质:一般是磁盘、磁带、光盘等。 v 2、内存文件:在内存中开辟一段空间,以文件的方式存放数据。 如、DOS虚拟磁盘驱动程序RAMDRIVE.SYS建立的虚拟磁盘上 存放的文件。Windows9.X恢复盘也建立虚拟磁盘,用于临时存放 系统命令文件。 v 3、操作系统把与主机关联的终端也当作文件处理,如: 键盘: 输入文件 显示器:输出文件 打印机:输出文件 v 4、C语言把文件看作一个字节序列,即由一连串的字节组成,称 为“流(stream)” ,以字节为单位访问,没有记录的界限(实际存 在界限,例如,在FAT16文件系统中,文件的最大长度是2GB)
文件的概念 令5、按文件所依附的介质来分:有磁盘文件、磁带文件、内存文 件、设备文件等 按文件的内容区分:有源程序文件、目标文件、数据文件等 ◆7、按文件中的数据组织形式来分:数据文件可分为ASCⅡ码文件 和二进制文件 令ASCI码文件,又称为“文本文件”(text),其每一个字节存放一个 ASCI码。 令二进制文件,把内存中的数据按其在内存中的存储形式存放在磁盘 上 例、十进制整数10000 在内存中占两字节,其存放形式是:0010,01110001,0000 在二进制文件中也按这中方式存放 在ASC∏文件中,存放为31H、30H、30H、30H、30H,占五个字 节,它们分别是1、0、0、0、0、0字母的ASCⅢ码。 上一页 返回
上一页 下一页 返回 第十三章 文 件 计算机系彭金莲制作 文件的概念 v 5、按文件所依附的介质来分:有磁盘文件、磁带文件、内存文 件、设备文件等。 v 6、按文件的内容区分:有源程序文件、目标文件、数据文件等。 v 7、按文件中的数据组织形式来分:数据文件可分为ASCII码文件 和二进制文件。 v ASCII码文件,又称为“文本文件”(text),其每一个字节存放一个 ASCII码。 v 二进制文件,把内存中的数据按其在内存中的存储形式存放在磁盘 上。 v 例、十进制整数10000, 在内存中占两字节,其存放形式是:0010,0111,0001,0000。 在二进制文件中也按这中方式存放。 在ASCII文件中,存放为31H、30H、30H、30H、30H,占五个字 节,它们分别是1、0、0、0、0、0字母的ASCII码
文件的概念 ASCI码形式 0011000110001100011000110 001000000000000 内存中存储形式 0 0 00100001 01110000 整数10000 「二进制形式」 00100010 01110000 上一页下一页 返回
上一页 下一页 返回 第十三章 文 件 计算机系彭金莲制作 文件的概念 v 00110 001 00110 000 00110 000 00110 000 00110 000 1 0 0 0 0 0010 0111 0001 0000 0010 0111 0010 0000 内存中存储形式 ASCII码形式 整数10000 二进制形式
文件的概念 令8、按照操作系统对磁盘文件的读写方式,文件可以分 为“缓冲文件系统”和“非缓冲文件系统” 令缓冲文件系统:操作系统在内存中为每一个正在使用的文件 开辟一个读写缓冲区 非缓冲文件系统:操作系统不开辟读写缓冲区 内存 输出文件缓冲区输出磁盘 程序数据 输出 输入输文件缓冲区输入 上一页下一页 返回
上一页 下一页 返回 第十三章 文 件 计算机系彭金莲制作 文件的概念 v 8、按照操作系统对磁盘文件的读写方式,文件可以分 为“缓冲文件系统”和“非缓冲文件系统” 。 v 缓冲文件系统:操作系统在内存中为每一个正在使用的文件 开辟一个读写缓冲区。 v 非缓冲文件系统:操作系统不开辟读写缓冲区
§13.2文件类型指针 在程序执行过程中 令运行结果→磁盘文件中 冷运行过程←磁盘文件 ☆使用文件时,内存开辟了一个区域用于 存放文件的有关信息,这些信息被保存 在用FIE定义的结构体类型变量中 Turbo C在 stdio. h中对FIE有定义,FILE 是自定义的结构体类型,有时也称文件 类型 上一页下一页 返回
上一页 下一页 返回 第十三章 文 件 计算机系彭金莲制作 §13.2 文件类型指针 v 在程序执行过程中: v 运行结果→磁盘文件中; v 运行过程←磁盘文件。 v 使用文件时,内存开辟了一个区域用于 存放文件的有关信息,这些信息被保存 在用FILE定义的结构体类型变量中, v Turbo C在stdio.h中对FILE有定义,FILE 是自定义的结构体类型,有时也称文件 类型
文件类型指针 typedef struct i int fd 文件号* int cleft 缓冲区中剩下的字符* int mode;/*文件操作模式” char* nextc;/下一个字符位置 char*buff.牌文件缓冲区位置* FILE 有了FIE文件类型,就可以定义FILE类型的变量了 如:FILE*fpfp 令是指向FILE结构体类型的指针变量,通过结构体中的 文件信息就可以访问该文件 ◆文件打开后,就将文件的有关信息赋给了指针变量, 从而指针变量指向该文件。 上一页下一页 返回
上一页 下一页 返回 第十三章 文 件 计算机系彭金莲制作 文件类型指针 v typedef struct { v int _fd ; /*文件号 */ v int _cleft ; /* 缓冲区中剩下的字符*/ v int _mode ; /*文件操作模式*/ v char *_nextc; /* 下一个字符位置 */ v char *_buff; /* 文件缓冲区位置 */ v } FILE; v 有了FILE 文件类型, 就可以定义FILE类型的变量了 v 如:FILE *fp fp: v 是指向FILE结构体类型的指针变量,通过结构体中的 文件信息就可以访问该文件。 v 文件打开后,就将文件的有关信息赋给了指针变量, 从而指针变量指向该文件
§13.3文件的打开与关闭 冷13.3.1 fopen:打开文件的函数 形式:FILE*f ip= -fopen((文件名,使用文件方 式) 其中使用方式 令(印是指向文件的结构 :体类型的指针变量,其 成员的值与打开文件信 A1与印便建立 66 读 息有关) 了联系,对印的 r 操作实际上就 是对A1的操作。 表示以读的方式打开 冷“a”:追加 文件A1, fopen函数 将带回对A1操作的有 关信息,如:标识、 冷例:印p= fopen(“A1”,“r”) 剩余字符、方式等 上一页下一页 返回
上一页 下一页 返回 第十三章 文 件 计算机系彭金莲制作 §13.3 文件的打开与关闭 v 13.3.1 fopen: 打开文件的函数 v 形式:FILE *fp v fp=fopen(文件名,使用文件方 式); v 其中使用方式: v “r” :读 v “ w”: 写 v “a” : 追加 v 例:fp=fopen(“A1” , “ r” ) v(fp是指向文件的结构 体类型的指针变量,其 成员的值与打开文件信 息有关)。 A1与fp便建立 了联系,对fp的 操作实际上就 是对A1的操作。 表示以读的方式打开 文件A1 , fopen函数 将带回对A1操作的有 关信息,如:标识、 剩余字符、方式等