C语言程序设计教程(第二版)课件第十三章.ppt
文本预览下载声明
第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
显示全部