DAY 发表于 2017-8-21 10:51:03

fwrite与fread学习笔记

#include<stdio.h>
#include<string.h>

struct student{
    int number;
    char name;
    int age;
}stu;


void init(){
    stu.number = 1;
    strcpy(stu.name,"Jim");
    stu.age = 20;

    stu.number = 2;
    strcpy(stu.name,"Bob");
    stu.age = 21;

    stu.number = 3;
    strcpy(stu.name,"Tom");
    stu.age = 22;

    stu.number = 4;
    strcpy(stu.name,"Mark");
    stu.age = 23;

}


void save(){
    FILE *fp;
    int i;
    if(!(fp=fopen("student","wb"))){
      printf("打开失败...\n");
      return ;
    }

    for(i = 0 ;i< 4; i ++){
      fwrite(stu+i,sizeof(struct student),1,fp);
    }

    fclose(fp);
    printf("写入成功...\n");

}

void load(){
    FILE *fp;
    struct student s;
    int i;
    if(!(fp=fopen("student","rb"))){
      printf("打开失败...\n");
      return ;
    }


    printf("********************显示数据开始********************\n");
    printf("学号\t\t姓名\t\t年龄\n");
    for(i = 0 ; i < 4; i++){
      fread(s+i,sizeof(struct student),1,fp);
      printf("number:%-2d\tname:%-5s\tage:%-4d\n",s.number,s.name,s.age);
    }

    printf("********************显示数据结束********************\n");

    fclose(fp);
    printf("读取完成....\n");

}

int main()
{
    system("color f0");
    init();
    save();
    load();
    return 0;
}

honeyhhhh 发表于 2019-1-6 00:32:17

楼主太棒了,解决了我的困惑
页: [1]
查看完整版本: fwrite与fread学习笔记