第08章文件应用课件.ppt
《第08章文件应用课件.ppt》由会员分享,可在线阅读,更多相关《第08章文件应用课件.ppt(20页珍藏版)》请在三一办公上搜索。
1、第8章 文件,8.1 C文件概述文件:存储在外部介质上数据的集合,是操作系统数据管理的单位,使用数据文件的目的1、数据文件的改动不引起程序的改动程序与数据分离2、不同程序可以访问同一数据文件中的数据数据共享3、能长期保存程序运行的中间数据或结果数据,文件分类按文件的逻辑结构:记录文件:由具有一定结构的记录组成(定长和不定长)流式文件:由一个个字符(字节)数据顺序组成按存储介质:普通文件:存储介质文件(磁盘、磁带等)设备文件:非存储介质(键盘、显示器、打印机等)按数据的组织形式:文本文件:ASCII文件,每个字节存放一个字符的ASCII码二进制文件:数据按其在内存中的存储形式原样存放,文本文件特
2、点:存储量大、速度慢、便于对字符操作,二进制文件特点:存储量小、速度快、便于存放中间结果,文件处理方法缓冲文件系统:高级文件系统,系统自动为正在使用的文件开辟内存缓冲区非缓冲文件系统:低级文件系统,由用户在程序中为每个文件设定缓冲区,结构体,结构体是一种构造数据类型用途:把不同类型的数据组合成一个整体-自定义数据类型结构体类型声明:一般形式为:,struct 结构体名 类型标识符 成员名;类型标识符 成员名;.;,成员类型可以是基本型或构造型,struct是关键字,不能省略,合法标识符,例 struct student int num;char name20;char sex;int age;
3、char addr30;struct student stu1=112,“Wang Lin”,M,19,“200 Beijing Road”;,说明结构体类型声明与结构体变量定义概念不同类型:不分配内存;变量:分配内存类型:不能赋值、存取、运算;变量:可以结构体可嵌套结构体成员名与程序中变量名可相同,不会混淆结构体类型变量的作用域与生存期与变量的完全相同,引用规则 结构体变量不能整体引用,只能引用变量成员引用方式:结构体变量名.成员名,8.2 文件类型指针文件结构体FILE 缓冲文件系统为每个正使用的文件在内存开辟文件信息区文件信息用系统定义的名为FILE的结构体描述FILE定义在stdio.
4、h中,typedef struct int _fd;/文件号 int _cleft;/缓冲区中剩下的字符数 int _mode;/文件操作方式 char*_next;/文件当前读写位置 char*_buff;/文件缓冲区位置FILE;,文件类型指针指针变量声明:FILE*fp;用法:文件打开时,系统自动建立文件结构体,并把指向它的指针返回来,程序通过这个指针获得文件信息,访问文件文件关闭后,它的文件结构体被释放,8.3 文件的打开与关闭C文件操作用库函数实现,包含在stdio.h文件使用方式:打开文件-文件读/写-关闭文件打开文件函数:fopen函数原型:FILE*fopen(char*nam
5、e,char*mode),功能:按指定方式打开文件返值:正常打开,为指向文件结构体的指针;打开失败,为NULL,要打开的文件名,使用文件方式,例 文件打开与测试 FILE*fp;fp=fopen(“aa.c”,“w”);if(fp=NULL)printf(“File open error!n”);return;,例 FILE*fp;fp=fopen(“c:fengyibkctest.dat”,”r”);,例 FILE*fp;char*filename=“c:fengyibkctest.dat”fp=fopen(filename,”r”);,文件关闭fclose作用:使文件指针变量与文件“脱钩”
6、,释放文件结构体和文件指针函数原型:int fclose(FILE*fp),功能:关闭fp指向的文件返值:正常关闭为0;出错时,为EOF(1)。,文件打开时返回的文件类型指针,不关闭文件可能会丢失数据,8.4 文件的读写字符I/O:fputc与fgetcfputc函数原型:int fputc(int c,FILE*fp)功能:把一字节代码c写入fp指向的文件中返值:正常,返回c;出错,为EOF(-1)。,fgetc函数原型:int fgetc(FILE*fp)功能:从fp指向的文件中读取一字节代码返值:正常,返回读到的代码值;读到文件尾,为EOF,判断文件是否结束 while(!feof(fp
7、)c=fgetc(fp);.,例 从键盘输入字符,逐个 存到磁盘文件中,直到 输入#“为止 blt8_01.c,#include void main()FILE*fp;char ch,*filename=“out.txt”;if(fp=fopen(filename,w)=NULL)printf(cannot open filen);return;printf(Please input string:);ch=getchar();while(ch!=#)fputc(ch,fp);putchar(ch);ch=getchar();fclose(fp);,例 读文本文件内容,并显示 lt8_01.c
8、,#include void main()FILE*fp;char ch,*filename=“out.txt”;if(fp=fopen(filename,”r)=NULL)printf(cannot open filen);return;while(ch=fgetc(fp)!=EOF)putchar(ch);fclose(fp);,feof函数原型:int feof(FILE*fp)功能:判断文件是否结束返值:文件结束,返回真(非0);文件未结束,返回0,数据块I/O:fread与fwrite函数原型:,size_t fread(void*buffer,size_t size,size_t
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 第08章 文件应用课件 08 文件 应用 课件
![提示](https://www.31ppt.com/images/bang_tan.gif)
链接地址:https://www.31ppt.com/p-2163171.html