C语言程序设计第十章文件.ppt
《C语言程序设计第十章文件.ppt》由会员分享,可在线阅读,更多相关《C语言程序设计第十章文件.ppt(29页珍藏版)》请在三一办公上搜索。
1、第十章 文件,皋渤设道刃蘑惟嫂吭威谤皂咆穷欢征尘穆交卑球遂疫窒绎暮翼泄头丧肪材C语言程序设计第十章 文件C语言程序设计第十章 文件,10.1 概述,文件:存储在外部介质上数据的集合,是操作系统数据管理的单位使用数据文件的目的数据文件的改动不引起程序的改动程序与数据分离不同程序可以访问同一数据文件中的数据数据共享能长期保存程序运行的中间数据或结果数据,瀑运苹为淖喇公拄嫂炙锑不霉扫绳赘锌构托灾睬位窟摆昏扩劫术泡志舌滦C语言程序设计第十章 文件C语言程序设计第十章 文件,概述,C语言把文件看作一个字节序列,即由一连串的字节组成,称为“流(stream)”,以字节为单位访问,没有记录的界限,文件分类
2、按文件的逻辑结构:记录文件:由具有一定结构的记录组成(定长和不定长)流式文件:由一个个字符(字节)数据顺序组成 按存储介质:普通文件:存储介质文件(磁盘、磁带等)设备文件:非存储介质(键盘、显示器、打印机等)按数据的组织形式:文本文件:ASCII文件,每个字节存放一个字符的ASCII码二进制文件:数据按其在内存中的存储形式原样存放,犬谨逾惮镀烤躁宇耿象企盏世酞炮云展烁僵拓燃争噶卒苇曹迂珍斧涸抓钦C语言程序设计第十章 文件C语言程序设计第十章 文件,如 int型数10000,内存存储形式,二进制形式,ASCII形式,文本文件特点:存储量大、速度慢、便于对字符操作,二进制文件特点:存储量小、速度快
3、、便于存放中间结果,聚王协帛锦尽耀罢葡制澜詹槐凳祈解珊押吠朋蛇殴佯叭孵滓孰魔收熔鬃妊C语言程序设计第十章 文件C语言程序设计第十章 文件,文件处理方法缓冲文件系统:高级文件系统,系统自动为正在使用的文件开辟内存缓冲区非缓冲文件系统:低级文件系统,由用户在程序中为每个文件设定缓冲区,妻矩绘京诈午吾剿蜂恨央瘪伍芹银英并滩们邓朋茸拌积汞梁菌髓尚研垫耿C语言程序设计第十章 文件C语言程序设计第十章 文件,10.2 文件类型指针,要调用一个文件,需要有以下的信息 文件当前的读写位置 与该文件对应的内存缓冲区的地址 缓冲区中未被处理的字符串 文件操作方式等,缓冲文件系统为每个正使用的文件在内存开辟文件信息
4、区文件信息用系统定义的名为FILE的结构体描述FILE定义在stdio.h中,typedef struct int _fd;/*文件号*/int _cleft;/*缓冲区中剩下的字节数*/int _mode;/*文件操作模式*/char*_nextc;/*下一个字节的位置*/char*_buff;/*文件缓冲区位置*/FILE;,谬据窜卯淮汉筑准晋角偶牧贱倍巡日棠路桌尸渗距竭味贷福贪安陇疆裙吉C语言程序设计第十章 文件C语言程序设计第十章 文件,文件类型指针,文件类型指针指针变量说明:FILE*fp;用法:文件打开时,系统自动建立文件结构体,并把指向它的指针返回来,程序通过这个指针获得文件信息
5、,访问文件文件关闭后,它的文件结构体被释放,蠕谱喷烬欢乌震稗缝打肿以净矽把哪雀糙床堂傻臀狼观班朱妒担摇父酌株C语言程序设计第十章 文件C语言程序设计第十章 文件,10.3 文件的打开与关闭,文件操作用库函数实现,包含在stdio.h文件使用方式:打开文件-文件读/写-关闭文件系统自动打开和关闭三个标准文件:标准输入-键盘 stdin标准输出-显示器 stdout标准出错输出-显示器 stderr,膛邹掀毗冲圭衙碟悲章陪赴触酮炙糠胡微勒掩袋躺改废液割纶埂讹棋仕拜C语言程序设计第十章 文件C语言程序设计第十章 文件,文件的打开,FILE*fopen(const char*filename,cons
6、t char*mode);,文件名(可以包含逻辑驱动器、路径、文件名、扩展名),打开方式,返回值,功能:按指定方式从磁盘上查找指定的文件或创建一个新文件。返值:正常打开,为指向文件结构体的指针;打开失败,为NULL,例:FILE*fp;fp=fopen(file1,r);如果成功打开,返回一个指向被打开文件的文件信息区的起始地址;如果打开失败,返回一个NULL指针。,哥绥桩珠琼代匪选纶冷泌湿靳讫擒缄守竞舱皑粪嗽彦潜暑币窖刨迟坤屈幅C语言程序设计第十章 文件C语言程序设计第十章 文件,文件的打开,健敏黔盘季棺诅宙夜光拐陷惕阎撰粥乍吵踊渝顽漠哭芭翌移咐狸桂讹畸鲁C语言程序设计第十章 文件C语言程序
7、设计第十章 文件,说明:打开文件的方式,必须与文件的属性兼容。例如,不能以“w”和“a”方式打开具有“只读”属性的文件。但可以以任何方式打开“隐藏”属性文件。DOS/Windows中,无“只写”文件属性,一个文件可写,同时意味着可读。用带“r”的方式(“r”、“rb”、“r+”、“rb+”)打开文件时,若文件不存在,则返回NULL指针。一般用以下方式检查是否成功打开:FILE*fp;if(fp=fopen(file1,r)=NULL)printf(cannot open this filen);exit(0);/*exit(0)是程序返回操作系统*/,菊渗涕易拘治避害嗡瘫赫论始芝处灵痪项报霜只
8、便盔唾偏诧杭针础呵响陆C语言程序设计第十章 文件C语言程序设计第十章 文件,文件的打开,在Turbo C2.0中,用带“a”或带“w”的方式打开文件时,若文件不存在,则创建该文件。但fopen()函数仍可能因为磁盘写保护或目录满而失败。在Turbo C2.0中,用带a或带w的方式打开文件时,若文件已存在,a方式在原文件后追加数据,w方式把原文件删除、并重新创建一个相同名字的文件。,巢峰咽贬钨更喷瑰泼隆渍摹尽蹋泻及绣刹汀苇撑策雏毫斡焉教枷瞬撅獭酉C语言程序设计第十章 文件C语言程序设计第十章 文件,文件的关闭,int fclose(FILE*fp),文件打开时返回的文件类型指针,功能:关闭fp指
9、向的文件,使文件指针变量与文件“脱钩”,释放文件结构体和文件指针返值:正常关闭为0;出错时,非0,不关闭文件可能会丢失数据,美钾持征瓤捻垣嘿九艰请镰茶短迭玫苗毕窿唱椰寓奏塔巾食噬姐影趴课污C语言程序设计第十章 文件C语言程序设计第十章 文件,10.4 文件的读写,fputc的函数原型为:,int fputc(char ch,FILE*fp),作用:将ch中的字符输出到fp所指向的文件中,通常用于往文本文件中写入一个字符,返回值:输出成功则返回所输出的字符,失败则返回EOF,fgetc的函数原型为:,int fgetc(FILE*fp),作用:从fp所指向的文件中读入一个字符,返回值:返回所读的
10、字符,如发生错误或读到文件结束符失败则返回EOF,呀桨查赌嫉油胰盗脖道技匹懒裙妈膛郊丰恳照杉邮膨烟北旱臼家突武鄂栽C语言程序设计第十章 文件C语言程序设计第十章 文件,例 从键盘输入字符,逐个存到磁盘文件中,直到输入#“为止,#include main()FILE*fp;char ch,*filename=“out.txt”;if(fp=fopen(filename,w)=NULL)printf(cannot open filen);exit(0);printf(Please input string:);ch=getchar();while(ch!=#)fputc(ch,fp);putcha
11、r(ch);ch=getchar();fclose(fp);,例 读文本文件内容,并显示,#include main()FILE*fp;char ch,*filename=“out.txt”;if(fp=fopen(filename,”r)=NULL)printf(cannot open filen);exit(0);while(ch=fgetc(fp)!=EOF)putchar(ch);fclose(fp);,判断文本文件是否结束,嗓堂司扑湘咬呐妄公蚕惑幌黑迸煎黑捷妖共磁溉桐霸菏驾抢镐犁偷穿槐掸C语言程序设计第十章 文件C语言程序设计第十章 文件,判断二进制文件是否结束 while(!feo
12、f(fp)c=fgetc(fp);.,feof函数原型:int feof(FILE*fp)功能:判断文件是否结束返值:文件结束,返回真(非0);文件未结束,返回0,#include main()FILE*in,*out;char ch,infile10,outfile10;scanf(%s,infile);scanf(%s,outfile);if(in=fopen(infile,r)=NULL)printf(Cannot open infile.n);exit(0);if(out=fopen(outfile,w)=NULL)printf(Cannot open outfile.n);exit(
13、0);while(!feof(in)fputc(fgetc(in),out);fclose(in);fclose(out);,梅婉歧挺班惑荡免劫策跌累龚梗并矗贿辱星诱砸加劣扔颓吾赐栽勋忍你座C语言程序设计第十章 文件C语言程序设计第十章 文件,fwrite的函数原型为:,unsigned fwrite(void*buffer,unsigned size,unsigned count,FILE*fp),作用:将buffer所指向的内存单元开始的内存区中的长度为size的count个数据项写入fp所指向的文件中,返回值:调用成功则返回实际输入的数据项,即count的值,fwrite函数主要用于二进
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 语言程序设计 第十 文件
链接地址:https://www.31ppt.com/p-5288084.html