C語(yǔ)言 rewind()函數(shù)
rewind()是文件頭定位函數(shù),用來(lái)將文件位置指針重新返回文件的開(kāi)頭,函數(shù)原型為:
void rewind(FILE *fp);
其中fp為文件指針。
rewind()函數(shù)的一般調(diào)用形式為:
rewind(fp);
【例題】顯示學(xué)生數(shù)據(jù)
輸入N個(gè)學(xué)生的數(shù)據(jù)(包括學(xué)號(hào)、姓名)到文件data.txt中,再在屏幕上顯示第一個(gè)學(xué)生的數(shù)據(jù)。
算法分析:
①以二進(jìn)制讀寫(xiě)的方式打開(kāi)文件。
②將鍵盤(pán)上輸入的N個(gè)學(xué)生的信息輸入到文件中。
③使用rewind()函數(shù)將文件位置指針指向文件開(kāi)頭。
④讀出第一個(gè)學(xué)生的數(shù)據(jù),并顯示。
⑤關(guān)閉文件。
程序如下:
#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++) /*輸入數(shù)據(jù)到數(shù)組中*/
{
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+"); /*以讀寫(xiě)的方式打開(kāi)文件*/
for(i=0;i<N;i++) /*將數(shù)據(jù)寫(xiě)入到文件*/
{
fwrite(&s[i],sizeof(STU),l,fp);
}
rewind(fp); /*將文件位置指針移到文件開(kāi)頭*/
fread(&t,sizeof(STU),1,fp);
printf("the data of No 1 :\n");
printf("%d %s\n",t.num,t.name);
fclose(fp);
}
程序執(zhí)行后,輸入N個(gè)學(xué)生的信息,輸出為第一個(gè)學(xué)生的信息。
點(diǎn)擊加載更多評(píng)論>>