文档详情

C语言程序设计教程(第二版)课件第十三章.ppt

发布:2017-04-18约3.04千字共30页下载文档
文本预览下载声明
第13章 文 件;13.1 C文件的概述 ;文件的分类:;三、文件的基本操作 ;⑴非缓冲文件系统∶程序与外设直接进行数据交换。 ;1. 文件类型(FILE) ;2. 定义FILE类型指针变量 ;13.2 文件的打开与关闭 ;⑶文件使用方式 ;例:#include stdio.h main() { FILE *fp; if((fp=fopen(stu.dat,r)) ==NULL) { printf(file not found.); exit(0); } else { printf(file opened ok!); fclose(fp); } };13.2.2 文件的关闭函数(fclose函数) ;13.3 文件的读写 ;2. fgetc函数;例: 阅读程序。 #include stdio.h #define NULL 0 main() { FILE *fp; int count=0; char c; if((fp=fopen(“file.txt”,“r”))==NULL) { printf(“Can’t Open File \n”); exit(0); }   c=fgetc(fp); while(c!=EOF) { count++; c=fgetc(fp); } printf(“count=%d\n”,count); fclose(fp); };13.3.2 字符串的读写函数;13.3.3 数据块的读写函数;例1 把数组a写入文件fa;再从fa读入数组b。 #include stdio.h main() { FILE* fp; int a[100]={1,5,6,78,21,34,67,87,23},b[100], i ; fp=fopen(tmp,wb); fwrite(a,sizeof(a),1,fp); /* fwrite(a,sizeof(int),100,fp);*/ fclose(fp); fp=fopen(tmp,rb); fread(b,sizeof(a),1,fp); for(puts(),i=0;i10;i++)printf(%6d,b[i]); fclose(fp); };13.3.4 格式化读写函数;13.4 文件的定位与出错检测 ;功能:把文件的读写位置指针移到指定的位置。 ; 4. ferror()函数 ferror()函数用来确定文件操作系统中是否出错。其函数原型为: int ferror(FILE *fp); 如果ferror()函数返回值为0,则表示此前的文件操作成功;否则,若返回一个非0值,则表示最近一次文件操作出错。由于对文件的每次I/O操作都会形成新的出错码,所以在每次文件操作后应立即调用ferror()函数查看此次操作是否成功,否则会丢失信息。 表示上述功能常用的语句的是: ;5. clearer()函数 clearer()函数的函数原型为: void clearer(FILE *fp); 功能是清除文件结束标志和文件出错标志(设置为0)。本函数没有返回值。 ;;#includestdio.h void main() {FILE *fp,*fp2; char c; if((fp=fopen(data.dat,r))==NULL) {printf(不能打开文件\n); return;} if((fp1=fopen(data1.dat),w)==NULL) {printf(不能建立文件\n); return;} while(!feof(fp)){ c=fgetc(fp); c=(c+1)%256; fputc(c,fp1);} fclose(fp); fclose(fp);} ; 编写程序,创建数据文件goods.dat用于存储商品信息。已知每一个商品 包括:名称,单价,进货量,和库存4项数据。按指定的格式读写.;#includestdio.h main() { int count ,amount,stock; float price; char name[20]; FILE *fp; if((fp
显示全部
相似文档