位置:首頁 > 軟件操作教程 > 編程開發(fā) > C語言 > 問題詳情

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

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

rewind()是文件頭定位函數(shù),用來將文件位置指針重新返回文件的開頭,函數(shù)原型為:

    void rewind(FILE *fp);

其中fp為文件指針。

rewind()函數(shù)的一般調(diào)用形式為:

    rewind(fp);

【例題】顯示學(xué)生數(shù)據(jù)

輸入N個學(xué)生的數(shù)據(jù)(包括學(xué)號、姓名)到文件data.txt中,再在屏幕上顯示第一個學(xué)生的數(shù)據(jù)。 

算法分析:

①以二進(jìn)制讀寫的方式打開文件。

②將鍵盤上輸入的N個學(xué)生的信息輸入到文件中。

③使用rewind()函數(shù)將文件位置指針指向文件開頭。

④讀出第一個學(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+");        /*以讀寫的方式打開文件*/

    for(i=0;i<N;i++)                        /*將數(shù)據(jù)寫入到文件*/

    {

        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);

}

程序執(zhí)行后,輸入N個學(xué)生的信息,輸出為第一個學(xué)生的信息。

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

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