c语言电子教案13.ppt

c语言电子教案13.ppt

第13章 文件 13.1 C文件概述 文件:存储在外部介质上数据的集合,是操作系统数据管理的单位 文件分类 按文件的逻辑结构: 记录文件:由具有一定结构的记录组成(定长和不定长) 流式文件:由一个个字符(字节)数据顺序组成 按存储介质: 普通文件:存储介质文件(磁盘、磁带等) 设备文件:非存储介质(键盘、显示器、打印机等) 按数据的组织形式: 文本文件: ASCII文件,每个字节存放一个字符的ASCII码 二进制文件:数据按其在内存中的存储形式原样存放 13.1 C文件概述 文本文件与二进制文件的区别 13.1 C文件概述 文件处理方法 缓冲文件系统:高级文件系统,系统自动为正在使用的文件开辟内存缓冲区 非缓冲文件系统:低级文件系统,由用户在程序中为每个文件设定缓冲区 13.1 C文件概述 读文件与写文件 读文件:磁盘文件中的数据传送到计算机内存的操作。 写文件:从计算机内存向磁盘文件中传送数据的操作。 FILE类型 缓冲文件系统为每个正使用的文件在内存开辟文件信息区 文件信息用系统定义的名为FILE的结构体描述 FILE定义在stdio.h中 13.1 C文件概述 typedef struct {short level;/*缓冲区满或空的程度*/ unsigned flags; /*文件状态标志*/ char fd; /*文件描述符*/ unsigned char hold; /*如无缓冲区不读取字符*/ short bsize; /*缓冲区的大小*/ unsigned char *buffer; /*数据缓冲区的位置*/ unsigned char *curp; /*指针,当前的指向*/ unsigned istemp; /*临时文件,指示器*/ short token; /*用于有效性检查*/ }FILE; 13.1 C文件概述 定义文件类型指针 FILE *fp; fp指向存放已打开文件的文件信息的结构体变量。 简称fp指向已打开的文件 13.2 文件的打开与关闭 文件使用方式:打开文件--文件读/写--关闭文件 C文件操作用库函数实现,包含在stdio.h 系统自动打开和关闭三个标准文件: 标准输入 键盘 stdin 标准输出 显示器 stdout 标准出错输出显示器 stderr 13.2 文件的打开与关闭 打开文件fopen 函数原型: FILE *fopen(char *name,char *mode); 用法: FILE *fopen(文件名,使用文件方式); 功能:返回一个指向指定文件的指针。 返值:正常打开,为指向文件结构体的指针; 打开失败,为NULL 13.2 文件的打开与关闭 使用文件方式 13.2 文件的打开与关闭 为增强程序的可靠性,常用下面的方法打开一个文件 FILE *fp; if ((fp=fopen(文件名,使用方式))==NULL) { printf(Can not open this file\n); exit(0); } 例: FILE *fp; char *filename=c:\test.dat,*read=r; fp=fopen(filename,read); /* OR fp=fopen(c:\test.dat,r);*/ 13.2 文件的打开与关闭 关闭文件 函数原型:int fclose(FILE *fp) 功能:关闭fp指向的文件 返值:正常关闭为0;出错时,非0 先把缓冲区中的数据输出到磁盘文件,然后才释放文件指针变量,防止数据缓冲区内的数据丢失。 13.3 文件的读写 字符的读写 fputc 函数原型:int fputc(int ch, FILE *fp) 功能:把一字符ch写入fp指向的文件中,同时将读写位置指针向前移动1个字节(即指向下一个写入位置) 返值:正常,返回ch;出错,为EOF(其值在头文件stdio.h中,被定义为-1) fgetc 函数原型:int fgetc(FILE *fp) 功能:从fp指向的文件中读取一字符,同时将读写位置指针向前移动1个字节(即指向下一个写入位置)。 返值:正常,返回读到的代码值;读到文件尾或出错,为EOF 13.3 文件的读写 例:从键盘输入字符,逐个存到磁盘文件中,直到输入#为止。 13.3 文件的读写 字符串的读写 函数原型: char *fgets(char *s,int n,FILE *fp) int fputs(c

文档评论(0)

1亿VIP精品文档

相关文档