第2章文件解析.ppt

  1. 1、本文档共16页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
第12章 文件 C语言文件 文件类型指针 打开、关闭和检测文件 文件的输入和输出 12.1、C语言文件 文件: 存储在外部介质上的、可由计算机识别的一组相关数据的集合。 程序文件,数据文件 按文件中数据的组织形式(即代码存放形式)分为两种: ASCII文本文件: 采用ACSII代码存储方式,每个字符占一个字节,存储其ASCII码. 二进制文件: 采用内存数据的存储方式 12.1、C语言文件 ‘4’00110011‘3’ ‘2’ 图12.1文本文件存放整数432示意图10110000 图12.2 二进制文件存放整数432示意图 12.1、C语言文件 缓冲区 x y C系统对文件的处理采用缓冲文件系统 系统将键盘、显示器处理为标准设备文件。 11001010 101011001100101011001010 每个被使用的文件都在内存中开辟了一个区,用来存放该文件的信息。 文件的信息保存在一个名为FILE的结构体类型的变量中。该结构体类型由系统定义。 定义文件型指针变量: FILE * 指针变量名 如: FILE * fp; 12.2、文件类型指针 缓冲区 x y fp ... 10101100110010101100101011001010 1、打开文件(fopen 函数) FILE *fp; fp=fopen(“c:\file.dat”,“r”); 使用文件的方式详见表12.1 fopen函数是一个返回指针值的函数 当返回值是NULL时,表示无法打开该文件 常采用下列方式打开一个文件: if ((fp=fopen(“file1”,”r”)==NULL) { printf(”can’t open this file \n”) exit(0); /* 关闭文件函数 */ } 2、关闭(fclose函数) fclose(文件指针); 12.3 打开、关闭和检测文件 3、检测文件是否结束函数(feof()函数) 功能:检测“文件指针” 是否处于文件结束位置。 如果feof()函数返回值为0,表示文件未结束。 如果返回一个非零值,表示文件结束。 12.3 打开、关闭和检测文件 函数的调用格式: feof(文件指针); 缓冲区 x y11001010 0100010010 010110010 111110010 fp 12.4.1、fputc,fgetc函数 (1)fputc函数:把一个字符写到文件中 如:fputc(ch,fp) ch:为待输出的字符 fputc函数的返回值: 当输出成功时为ch的值 当输出不成功时为EOF即 -1。 (2)fgetc函数:从指定文件中读入一个字符 如:ch=fgetc(fp); 12.4、文件的输入和输出 缓冲区 ch 11001010 0100010010 010110010 ... fp 例12.1 编写程序,从键盘输入一个以“$”结尾的字符串,并将它们原样存到名为file1.txt文件中。 #include stdio.h main( ) {FILE *fout; /*定义文件指针*/ char ch; if((fout=fopen(c:\file1.txt,w))==NULL) /*为写打开文件*/ {printf(can not open file\n); exit(0);} ch=getchar(); while(ch!=$) { fputc(ch,fout);/*将ch的值输出到文件中*/ ch=getchar( ); } fclose(fout);/* 关闭文件*/ } 例12.2 编写程序读入【例12.1】生成的文本文件file1.txt,并将文件内容原样输出到显示屏上。 #include stdio.h main( ) {FILE *fin;/*定义文件指针*/ char ch; if((fin=fopen(d:\file1.txt,r))==NULL) /*为读打开文件*/ {printf(can not open infile\n);exit(0);} while(!feof(fin))/*当没有到文件末

您可能关注的文档

文档评论(0)

挑战不可能 + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档