第十三章文件.ppt
《第十三章文件.ppt》由会员分享,可在线阅读,更多相关《第十三章文件.ppt(23页珍藏版)》请在三一文库上搜索。
1、第十三章 文 件,掌握文件以及缓冲文件系统、文件指针的概念; 学会使用文件打开、关闭、读、写等文件操作函数。,13.1 C文件概述,一、文件的概念,文件:是指存储在外部介质上数据的集合。,操作系统是以文件为单位对数据进行管理的。每一个与主机相连的输入或输出设备都看作是一个文件。,二、文件的存在形式及分类,文件的存在形式:文件名+文件内容。,文件内容:是一个字符(字节)序列,即由一个个字符 (字节)的数据顺序组成。对文件的存取是以字 符(字节)为单位的,这类文件称为流式文件。,文件的分类:,ASCII 码文件(文本文件):文件的每一个字节放 一个ASCII代码,代表一个字符。,二进制文件 :把内
2、存中的数据按其在内存中的存 储形式原样输出到文件上。,三、文件的基本操作,打开文件把文件名等目录信息从磁盘上读 入内存并存入结构体。, 关闭文件把内存结构体中的文件名等目录 信息写入磁盘。,(3) 写文件 向文件写内容。,(4) 读文件 从文件读内容。,四、 文件的输入输出方式,非缓冲文件系统程序与外设直接进行数据交换。,特点每读写一次都要启动外设。,缓冲文件系统程序与外设通过内存缓冲区进行 数据交换。(常用的方式),特点只有内存缓冲区满(写盘)或空(读盘)才 启动外设。,13.2 C文件类型指针,一、文件类型(FILE),每个被使用的文件都在内存中开辟一个区,用来存放文件的有关信息(如文件名
3、,状态,当前位置等)。这些信息保存在一个结构体类型的变量中。结构体类型由系统定义为“FILE”。,有的C版本在 stdio.h文件中有如下定义: typedef struct int _fd;; /* 文件号 */ int _cleft; /* 缓冲区中剩下的字符 */ int _mode; /* 文件操作模式 */ char *_nexttc; /* 下一个字符位置 */ char *_buff; /* 文件缓冲区位置 */ FILE;,二、定义FILE类型指针变量,FILE 类型的指针变量定义方法,FILE *指针变量名;,例如:FILE *fp; 含义:fp是一个指向FILE类型结构体的
4、指针变量。,可以使fp指向某个文件的结构体变量,从而通过该结构体变量中的文件信息能够访问该文件。,13.3 文件的打开和关闭函数,一、文件的打开函数(fopen函数),(1) 调用方式:,FILE *fp ; fp= fopen(文件名,文件的使用方式);,所要打开的文件名。必须是用双引号引起的字符串常量。,具有特定含意的符号也必须 由双引号引起,用户定义的文件类型指针变量,例 FILE *fp; fp=fopen(“stu.dat“,“r“);,文件使用方式,基本方式字符(单独使用是对文本文件):,按二进制格式读写文件(基本方式字符+“b”),b 辅助说明,按二进制格式读写文件。,同时进行读
5、写文件(基本方式字符+“b”+“+”),+ 辅助说明,可同时进行读和写文件。,例如:fp=(“stu.dat”,“rb”);,例如:fp=(“stu.dat”,“r+”);,文件使用方式,基本方式字符(单独使用是对文本文件):,按二进制格式读写文件(基本方式字符+“b”),b 辅助说明,按二进制格式读写文件。,同时进行读写文件(基本方式字符+“b”+“+”),+ 辅助说明,可同时进行读和写文件。,例如:fp=(“stu.dat”,“rb”);,例如:fp=(“stu.dat”,“r+”);,文件使用方式,基本方式字符(单独使用是对文本文件):,按二进制格式读写文件(基本方式字符+“b”),b
6、辅助说明,按二进制格式读写文件。,同时进行读写文件(基本方式字符+“b”+“+”),+ 辅助说明,可同时进行读和写文件。,例如:fp=(“stu.dat”,“rb”);,例如:fp=(“stu.dat”,“r+”);,例:#include main() FILE *fp; if(fp=fopen(“stu.dat“,“r“) =NULL) printf(“file not found.“); exit(0); else printf(“file opened ok!“); fclose(fp); ,程序运行结果: 如果磁盘上存在文件stu.dat,屏幕上会显示 file open ok!,否则
7、屏幕上显示file not found.。,常使用此方法打开一个文件,exit函数的功能是关闭所有文件,终止程序运行。exit(0)为正常终止程序,二、文件的关闭函数(fclose函数),(1) 调用方式:,fclose(文件指针);, 功能:关闭由文件指针指定的文件,把缓冲区 中的数据(未装满缓冲区的数据)输出 到磁盘上,释放文件指针。,例如: FILE *fp; fp=fopen(“output.dat”,“r+”); /* 进行读写操作 */ fclose(fp);,注意:fopen函数和fclose函数总是成对出现的。 无fclose函数时会导致部分数据丢失!,2. fgetc函数,一
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 第十三 文件
链接地址:https://www.31doc.com/p-2572546.html