文件的读写函数教学教学课件.pptx
LOGOLOGOfputc,fgetc函数的格式与应用Teacher teaching designCONTENTS 目 录字符读取函数写字符函数案例分析仿真演练读字符函数PART 01 字符变量=fgetc(文件指针);函数调用的形式其意义是从打开的文件fp中读取一个字符并送入ch中。功能是从已经由fopen打开的文件中读取一个字符fgetc()ch=fgetc(fp);例如字符读取函数fgetc()返回文件指针所指文件中当前位置上字符。当读到文件尾时,fgetc()返回一个EOF文件结束标记,其不能在屏幕上显示。说明在fgetc函数调用中,读取的文件必须是以读或读写方式打开的。字符读取函数返回读出的字符。如果读到文件尾,返回EOF。 解析EOF是在stdio.h中定义的一个符号常量,表示文件结束标记End Of File。从一个磁盘文件中顺序读出字符,并在屏幕上显示出来FILE *fp;char ch;ch=fgetc(fp);while(ch!=eof) putchar(ch); ch=fgetc(fp);字符读取函数点击输入简要文字内容,需概括精炼,不用多余的文字修饰,言简意赅的说明分项内容。添加标题内容点击输入简要文字内容,需概括精炼,不用多余的文字修饰,言简意赅的说明分项内容。添加标题内容添加标题内容点击输入简要文字内容,需概括精炼,不用多余的文字修饰,言简意赅的说明分项内容。添加标题内容点击输入简要文字内容,需概括精炼,不用多余的文字修饰,言简意赅的说明分项内容。添加标题内容添加标题内容在C语言中,还提供了另外一个函数feof,当遇到文件尾时,该函数返回一个非0的整数。其他情况返回0。调用方式是:int feof(FILE *fp)函数feof字符读取函数写字符函数fputcPART 02int fputc(字符量,文件指针);把一个字符写入指定的文件中fputc函数有一个返回值,如写入成功则返回写入的字符,否则返回一个EOF。可用此来判断写入是否成功。调用形式功能返回值写字符函数被写入的文件可以用写、读写、追加方式打开,用写或读写方式打开一个已存在的文件时将清除原有的文件内容,写入字符从文件首开始。如需保留原有文件内容,希望写入的字符以文件末开始存放,必须以追加方式打开文件。被写入的文件若不存在,则创建该文件。3待写入的字符量可以是字符常量或变量1每写入一个字符,文件内部位置指针向后移动一个字节。2写字符函数案例分析交流提升PART 03#includemain() FILE *fp; char ch; if(fp=fopen(f:ac.txt,rt)=NULL) printf(nCannot open file strike any key exit!); getch(); exit(1); ch=fgetc(fp); while(ch!=EOF) putchar(ch); ch=fgetc(fp); fclose(fp);读入文件c1.doc,在屏幕上输出。案例分析1#includemain() FILE *fp; char ch; if(fp=fopen(f:out.txt,wt+)=NULL) printf(Cannot open file strike any key exit!); getch(); exit(1); printf(input a string:n); ch=getchar(); while (ch!=n) fputc(ch,fp); ch=getchar(); rewind(fp); ch=fgetc(fp); while(ch!=EOF) putchar(ch); ch=fgetc(fp); printf(n); fclose(fp);从键盘输入一行字符,写入一个文件,再把该文件内容读出显示在屏幕上仿真演练体验探索PART 04以下程序是建立一个名为myfile的文件,并把从键盘输入字符存入该文件,当键盘上输入结束时关闭该文件。选择正确内容填空。main()FILE *fp;char c ;char fname10;fp=_(1)_(“myfile”,_(2)_);doc=getchar();fputc(c , fp); while(c!=EOF); fclose(fp); 仿真演练(1) A) fgets B)fopen C ) fclose D) fgetc(2) A) “r” B) “r+” C ) “w” D) “w+”main()FILE * fp;char str=”Beijing 2008”;fp = fopen(“file2”,”w”);fputs(str,fp);fclose(fp);以下程序的功能是( ) 。&A)在屏幕上显示“Beiing 2008”;B)把”Beijing 2008”存入file2文件中;C)在打印机上打印出“Beiing 2008”;D)以上都不对;仿真演练 (1)A) “r” B ) “r+” C) “rb” D) “rb+” (2) A) “W+ “ B) “wb+” C) “ w” D) “wb”#include main()FILE * fp1, *fp2 ; int c ;fp1=fopen(“old.dat”,_1_);fp2=fopen(“new.dat”,_2_); c=getc(fp1); while(c!=EOF) fputc(c,fp2) ; c = fgetc(fp1); fclose(fp1);fclose(fp2); 以下程序是将一个名为old.dat 的文本文件拷贝到一个名为new.dat的新文本文件中,请选择正确内容填空。仿真演练若fp已正确定义并指向某个文件,当未遇到该文件结束标志时函数feof(fp)的值为( )A) 0 B) 1 C) 1 D) 一个非0值仿真演练以下程序用来统计文件中字符个数。请填空。#include stdio.h main() FILE *fp; long num=0L; if(fp=fopen(fname.dat,r)=NULL) pirntf(Open errorn); exit(0); while( _ ) fgetc(fp); num+; printf(num=%1dn,num-1); fclose(fp); 添加标题内容LOGOLOGOTeacher teaching design