rewind()是文件头定位函数,用来将文件位置指针重新返回文件的开头,函数原型为:
void rewind(FILE *fp);
其中fp为文件指针。
rewind()函数的一般调用形式为:
rewind(fp);
【例题】显示学生数据
输入N个学生的数据(包括学号、姓名)到文件data.txt中,再在屏幕上显示第一个学生的数据。
算法分析:
①以二进制读写的方式打开文件。
②将键盘上输入的N个学生的信息输入到文件中。
③使用rewind()函数将文件位置指针指向文件开头。
④读出第一个学生的数据,并显示。
⑤关闭文件。
程序如下:
#include <stdio.h>
#define N 3
typedef struct student
{
int num;
char name [8];
}STU;
main ()
{
FILE *fp;
STU s[N],t;
int i;
for(i=0;i<N;i++) /*输入数据到数组中*/
{
printf("please input num:\n");
scanf("%d",&s[i].num);
printf("please input name:\n");
scanf("%s",s[i].name);
}
fp=fopen("d:\\data7.txt","rb+"); /*以读写的方式打开文件*/
for(i=0;i<N;i++) /*将数据写入到文件*/
{
fwrite(&s[i],sizeof(STU),l,fp);
}
rewind(fp); /*将文件位置指针移到文件开头*/
fread(&t,sizeof(STU),1,fp);
printf("the data of No 1 :\n");
printf("%d %s\n",t.num,t.name);
fclose(fp);
}
程序执行后,输入N个学生的信息,输出为第一个学生的信息。
已有 22658 名学员学习以下课程通过考试
最需教育客户端 软件问题一手掌握
去 App Store 免费下载 iOS 客户端
点击加载更多评论>>