- 0
- 0
- 约2.47千字
- 约 32页
- 2021-03-31 发布于北京
- 举报
高玉玲 王璇 主编
宋维君 王书旺 副主编;第十二章文件处理; 12.1文件;12.1.2文件的种类与存取方式;12.1.3文件指针
文件结构体FILE
缓冲文件系统为每个正使用的文件在内存开辟文件信息区
文件信息用系统定义的名为FILE的结构体描述
FILE定义在stdio.h中;文件类型指针
指针变量说明: FILE *fp;
用法:
文件打开时,系统自动建立文件结构体,并把指向它的指针返回来,程序通过这个指针获得文件信息,访问文件
文件关闭后,它的文件结构体被释放;12.2文件的打开与关闭
C文件操作用库函数实现,包含在stdio.h
文件使用方式:打开文件--文件读/写--关闭文件
系统自动打开和关闭三个标准文件:
标准输入------键盘 stdin
标准输出------显示器 stdout
标准出错输出-----显示器 stderr;12.2.1文件的打开(fopen函数)
函数原型: FILE *fopen(char *name,char *mode);12.2.2文件的关闭(fclose函数)
作用:使文件指针变量与文件“脱钩”,释放文件结构体和文件指针
函数原型:int fclose(FILE *fp);【读一读12.1】演示文件的打开与关闭。 ;【练一练12.1】】从文本文件test.txt中顺序读入文件内容,并在屏幕上显示出来。
编程指导:定义一个文件指针,使用fopen函数以只读方式打开文件test.txt,用fgetc函数从文件中读取字符,并将字符显示在屏幕上。这里要注意如何判断何时到达文件的尾部。;12.3文件的读写; 【实例12.1】读入文件f.doc,在屏幕上输出。 ;【实例12.2】从键盘输入一行字符,写入到文本文件word.txt中。 ;12.3.2字符串读写函数fgets和fputs
; 【实例12.3】从D盘根目录下的test.txt文件中读入一个含10个字符的字符串。
; 【实例12.4】从键盘输入若干行字符存入D盘根目录下的文件file.txt中。 ;12.3.3数据块读写函数fread和fwrite
函数原型:;void main( )
{ FILE *fp;
struct student s;
int i, size;
size = sizeof(struct student);
if((fp=fopen(D:\\student.dat, rb)) == NULL)
{
printf(Cannot open the file! );
exit(0);
}
while(!feof(fp))
{ fread(s, size, 1, fp);
if(s.age20)
printf(%d %s %d %s\n,
s.number, s.name, s.age, s.class);
}
fclose(fp);
} ;12.3.4 格式化读写函数fscanf和fprintf
函数原型:;【实例12.6】从键盘输入一个字符串,将他们写入test.txt文件中,然后再从test.txt文件中读出并显示在屏幕上。;【读一读12.2】编写程序,将1~100之间的偶数与奇数分别用文件保存。 ;【读一读12.3】编写程序,将一字符文件的内容反序保存至另一文件中。;【练一练12.2】编写程序,求出1000以内的素数,并用一文件保存。
编程指导: 定义一个文件指针,以只写的形式指向一个文件,然后将计算出的1000以内的素数存入文件中。;12.4 文件的定位函数;fseek函数
函数原型: int fseek(FILE *fp,long offset,int whence)
功能:改变文件位置指针的位置
返值:成功,返回0;失败,返回非0值;12.5 文件的的检测函数;读写文件出错检测函数ferror
格式: ferror(fp);
功能:检查文件在用各种输入输出函数进行读写时是否出错。如ferror返回值为0表示未出错,否则表示有错。
说明
每次调用文件输入输出函数,均产生一个新的ferror函数值,所以应及时测试
fopen打开文件时,ferror函数初值自动置为0;文件出错标志和文件结束标志将函数置0
格式: clearerr(fp);
功能:用于清除出错标志和文件结束标志,使它们置为0值。
说明
当调用某个输入输出函数时出错,则函数ferror的返回值
您可能关注的文档
- 创客技术涂装机器人涂装机器人的工位布局.pptx
- 创新创业基础创业心理准备9.创业心理准备.pptx
- 创新创业基础专题二与最靠谱的人一起创业专题二话题一:寻找最靠谱的创业者.ppt
- 创新方法与训练创新要求人的思维发散而不是收敛古诗中的发散思维--1.pptx
- 创新方法与训练集思广议真能产生新创意吗?635创新方法.pptx
- 创新方法与训练列举事物的特征与发散性思维例举创新法综述.pptx
- 创业基础创业基础2.2开拓创新思维(主题三创业思维的障碍).pptx
- 创业竞争力提升产品力方案力3:验证解决方案2.验证解决方案(已优化).pptx
- 创业竞争力提升创业承受力何丹丽《创业竞争力提升》创业承受力(2).pptx
- 创业素质测评与团队组建创业精神的培育KC006A001创业精神的培育.pptx
原创力文档

文档评论(0)