位置:首頁(yè) > 軟件操作教程 > 編程開(kāi)發(fā) > C語(yǔ)言 > 問(wèn)題詳情

C語(yǔ)言 rewind()函數(shù)

提問(wèn)人:劉團(tuán)圓發(fā)布時(shí)間:2020-12-03

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é)生的信息。

繼續(xù)查找其他問(wèn)題的答案?

相關(guān)視頻回答
回復(fù)(0)
返回頂部