第7章-指针与文件.ppt

  1. 1、本文档共53页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多

第七章 指针与文件第七章 指针与文件第三节C文件概述几点说明:①文件使用方式由r、w、a、b、+五个字符组成,各字符的含义是:打开后可同时读写数据+:二进制文件b:在文件尾部追加数据a:写文件w:读文件r:作用字符②凡用“r”方式打开的文件,该文件必须已经存在,且只能从该文件读出数据。③凡用“w”方式打开的文件只能向该文件写入。若打开的文件不存在,则以指定的文件名新建该文件,若打开的文件已经存在,则覆盖该文件。④若要向一个已存在的文件追加新的信息,只能用“a”方式打开文件。但此时该文件必须是存在的,否则将会出错。第三节C文件概述⑤在打开一个文件时,如果出错,open()函数将返回一个空指针值NULL。在程序中可以用这一信息来判别是否完成打开文件的工作,并作相应的处理。NULL是个符号常量,已在stdio.h中被定义成0。因此常用以下程序段打开文件:fp=fopen(c:\\hzk16,rb);if(fp==NULL){printf(\nErroronopenc:\\hzk16file!);getch();exit(1);}第三节C文件概述⑥将文件中所有字符逐一读入内存,常用如下while循环实现:while(!feof(fp)){ch=fgetc(fp);……}⑦对文件读写一个字符,文件指针自动增1,勿需再使用单独的fp++语句。feof()是文件结束函数,当文件指针指到文件结束符时,其值为1,否则其值为0。文件结束符对应的符号常量是EOF,它在头文件stdio.h中被定义为-1。文件一旦使用完毕,须关闭文件。关闭文件作用之一是将缓冲区中的数据存盘,这样数据才不丢失。fclose函数调用的一般形式是:第三节C文件概述二、文件的关闭fclose(文件指针);正常完成关闭文件操作时,fclose函数返回值为0。如返回非零值则表示有错误发生。一个关闭语句只能关闭一个文件。第四节文件的读写读文件是指将文件从磁盘读入内存,写文件是指将内存中的数据保存到磁盘。读文件和写文件是一对相反的操作,数据只有读入内存赋给内存变量。内存从键盘到内存的函数scanf(),gets(),getch()getche(),getchar()从文件到内存的函数fscanf(),getc()fread(),fgets()从内存到显示器的函数printf(),puts()putch(),putchar()从内存到磁盘文件的函数fprintf(),fputc()fwrite(),fputs()第四节文件的读写字符及字符串读写函数常用的有4个:fgetc、fputc、fgets和fputs。fputs(str,fp);将内存数组str的值写入fp指向的文件中保存fputs()fgets(str,n,fp);从fp指向的文件中读取n-1个字符赋给内存数组strfgets()fputc(fp,ch);将内存变量ch的值写入fp指向的文件中保存fputc()成功返回0否则返回非0ch=fgetc(fp);从fp指向的文件中读取一个字符赋给内存变量chfgetc()返回值格式功能函数名一、字符与字符串读写函数第四节文件的读写【例7-6】从键盘上输入若干个字符,逐个将其存入文件“c:\\myfile-1.txt”中,直到遇到输入的字符是‘#’号为止。【简要分析】C盘上的文件myfile-1.txt以前是不存在的,它是运行程序时新创建的,故文件使用方式应选择写方式“w”。根据文件操作的一般步骤。关闭文件,结束输入一个字符到ch中将ch写入文件中当ch!=’#’时打开指定文件输入文件名filename定义变量ch,filename开始,设置环境用N-S流程图描述的程序逻辑:第四节文件的读写参考源代码:/*例7-6,7-6.c*/#includestdio.hvoidmain(){FILE*fp;charch;fp=fopen(“c:\\myfile-1.txt”,w); /*打开文件*/ch=getchar(); /*输入一个字符*/while(ch!=#){fputc(ch,fp); /*写一个字符到文件*/putchar(

文档评论(0)

好文精选 + 关注
实名认证
内容提供者

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

1亿VIP精品文档

相关文档