二進制文件讀入

#include <stdio.h>
#include <stdlib.h>
#define NUM 5
typedef struct
{
    int num,English,Math,Chinese;
    char name[20];
}Student;

int main()
{
    FILE*fp;
    Student stu1[NUM],stu2[NUM];
    int i;
    if((fp=fopen("student.dic","wb+"))==NULL)
    {
        printf("Cannot open source file.\n");
        exit(1);
    }
    printf("Enter data of %d students\n",NUM);
    for(i=0;i<NUM;i++)
        scanf("%s %d %d %d %d",&stu1[i].name,stu1[i].num,stu1[i].English,stu1[i].Math,stu1[i].Chinese);
    fwrite((void*)stu1,sizeof(Student),NUM,fp);
    rewind(fp);
    printf("name\tnum\tEnglish\tMath\tChinese\n");
    for(i=0;i<NUM;i++)
    {
        fread((void*)&stu2[i],sizeof(Student),1,fp);
        ptintf("%s\t%d\t%d\t%d\t%d\n",stu2[i].name,stu2[i].num,stu2[i].English,stu2[i].Math,stu2[i].Chinese);
    }
    fclose(fp);
                                                                                                                                                                                                                                                        
    return 0;
}

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章