第13章第1节 第十三章文件 §13.1文件概述 文件 存储在外部存储介质上的数据的集合。文件必须有文件名,文件是操 作系统管理数据的基本单位 文件中的 读:由文件名找到文件→取文件中数据放入内存 两种操作 写:建立文件→将内存中的数据存入文件。 二ASCⅡ文件与二进制文件 1ASCⅡ文件—文本文件(type可显示),以ASCⅡ码值来存放数据 如:1000 都当成字符0,0的ASCⅡ值48 00110000 当成一个字符1,ASCⅡ值49—00110001 00110010011000101001000 特点:1)便于处理字符;2)占用空间大;3)表示数据时要进行转换
第13章第1节 §13.1 文件概述 一. 文件 ——存储在外部存储介质上的数据的集合。文件必须有文件名,文件是操 作系统管理数据的基本单位。 文件中的 两种操作 读: 由文件名找到文件→取文件中数据放入内存 写: 建立文件→将内存中的数据存入文件。 二. ASCⅡ文件与二进制文件 1.ASCⅡ文件——文本文件(type 可显示), 以ASCⅡ码值来存放数据 如:1000 都当成字符0, 0的ASCⅡ值48 00110000 当成一个字符1,ASCⅡ值49 00110001 00110001 00110000 00110000 00110000 1 0 0 0 特点:1)便于处理字符;2)占用空间大;3) 表示数据时要进行转换
第13章第1节 2二进制文件 以二进制数据(即内存中表示的方式的形式,存入外存 如:100进制9100在入方式0000100 特点:占用空间小。 三缓冲文件系统和非缓冲文件系统 缓冲文件系统:系统自动开辟缓冲区(butr,属于“高级磁盘输入输出 系统”(处理文本文件)。 数据区输出文件缓冲区 外存 输入文件缓冲区“读 非缓冲文件系统:由程序为文件设定缓冲区,属于“低级磁盘输入输出系 统”(处理二进制文件)。 ANSI O中,采用缓冲文件系统处理文本文件和二进制文件
第13章第1节 以二进制数据(即内存中表示的方式)的形式,存入外存 2.二进制文件 如: 1000 1111101000 二进制 00000011 11101000 存入方式 特点:占用空间小。 三. 缓冲文件系统和非缓冲文件系统 缓冲文件系统:系统自动开辟缓冲区(buffer),属于“高级磁盘输入输出 系统”(处理文本文件)。 数据区 输出文件缓冲区 输入文件缓冲区 外存 写 读 非缓冲文件系统: 由程序为文件设定缓冲区,属于“低级磁盘输入输出系 统” (处理二进制文件)。 ANSI C中, 采用缓冲文件系统处理文本文件和二进制文件
第13章第1节 四.C中文件操用的基本步骤—三步 1.打开文件 采用f0pen函数和文件指针 2.读、写数据 fgetcO; fputs0; fscanf0; fprintf0; fread; fwriteO 读、写字 格式读、写,用 用于任一类型 符 于任一类型 般适用于二进制 般适用于文本 文件 文件 3.关闭文件 采用 fclose0函数
第13章第1节 四. C中文件操用的基本步骤——三步 1. 打开文件 采用fopen函数和文件指针 2. 读、写数据 fgetc() ; fputs(); fscanf() ; fprintf(); fread() ; fwrite() 3. 关闭文件 采用fclose()函数。 读、写字 符 格式读、写,用 于任一类型 一般适用于文本 文件 用于任一类型 一般适用于二进制 文件
第13章第2节 §132文件类型指针 用于指向文件 定义: FILE“p 定义一个指向文 指针变量名件的指针变量p 表示类型符号 实质上:FE是在“ stdio. h”中用 typedef定义的一个结构体类型,该 结构体成员存放文件的相应内容,如文件号,缓冲区大小等等。每使用 个文件,系统自动将文件的信息存放在一个FILE类型的结构体变量中。 FIE—相当于“文件类型” FILE*p实质上是定义一个指向存放文件信息的结构体变量的指针。 注:如要使用文件指针,应在程序开头加# include“ 'stdio. h
§13.2 文件类型指针 第13章第2节 ——用于指向文件 定义: FILE *p 指针变量名 表示类型符号 实质上:FILE 是在“stdio.h” 中用typedef 定义的一个结构体类型,该 结构体成员存放文件的相应内容,如文件号,缓冲区大小等等。每使用 一个文件,系统自动将文件的信息存放在一个FILE类型的结构体变量中。 FILE —— 相当于“文件类型” FILE *p 实质上是定义一个指向存放文件信息的结构体变量的指针。 定义一个指向文 件的指针变量p 注: 如要使用文件指针, 应在程序开头加 # include“stdio.h
第13章第3节 §13.3文件的打开与关闭 原则:使用文件,心须先打开,用完后必须关闭文件 文件的打开fopn0函数 r只读 w只写 用于文本文件 EILE fp; a追加 rb只读 fp- fopen(文件名,使用方式) wb只写 用于二进制文件 ab追加 w+用于文本文件 rb+ 读/写 wb+ 用于二进制文件 abt 说明:如打开不能实现(如磁盘坏), fopen返回空指针值NULL(NULL 在“ stdio.h”中定义为:# define null0 实用 if( fp=fopen(” filel”,”r”)=NULL) 形式 { printi(“ can not open this fileln”); exit(0);) 关闭所有文件,终止程序运行
§13.3 文件的打开与关闭 第13章第3节 一. 文件的打开 fopen() 函数 原则:使用文件,心须先打开,用完后必须关闭文件 EILE *fp; fp=fopen(文件名,使用方式) r 只读 w 只写 a 追加 rb 只读 wb 只写 ab 追加 r+ w+ a+ rb+ wb+ ab+ 用于文本文件 用于二进制文件 用于文本文件 用于二进制文件 读/写 说明:如打开不能实现(如磁盘坏),fopen()返回空指针值 NULL(NULL 在“stdio.h”中定义为:#define NULL 0 if ((fp=fopen(”file1”,”r”))==NULL) { printf(“can not open this file\n”); exit(0);} 实用 形式 关闭所有文件,终止程序运行