• 问题总会出现,不过解决问题的方法也会出现!!!

代码练习-52-二进制读写文件freed和fwrite

代码练习 小雨 506次浏览 已收录 0个评论

—— ——-

//
//  main.c
//  C语言-二进制读写文件freed和fwrite

#include 
#include 

//1.首先创建一个结构体
struct Student{

    char *name;
    int age;
    float score;

};

int main(int argc, const char * argv[]) {
    //2.声明一个结构体数组变量并赋初值
    struct Student stu1[3]={{"吴奇隆",28,88.96},{"任贤齐",37,79.51},{"刘德华",48,96.46}};

    //3.声明数组文件指针变量
    FILE *fp=NULL;
    //4.打开文件
    fp=fopen("Student.data", "wb+");
    //5.判断是否打开
    if (fp!=NULL) {
        //6.如果打开则,写入数据 并读取数据 输出
        for (int i=0; i<3; i++) {
            fwrite(&stu1[i], sizeof(struct Student), 1, fp);
        }
        printf("文件已经全部写入完毕!n");

    }else{
        //7.如果打开失败则提示任意键退出程序
        printf("对不起,文件打开失败,请按任意键退出本程序!n");
        getchar();
        exit(1);

    }

    rewind(fp);//文件指针复位
    printf("n");
    struct Student stu2[3];//声明结构体数组,用于存放读取的数据
    for (int i=0; i<3; i++) {
        fread(&stu2[i], sizeof(struct Student), 1, fp);//将数据从文件读取到新结构体数组中
        printf("名字:%st年龄:%dt分数:%.2fn",stu2[i].name,stu2[i].age,stu2[i].score);
    }


    //8.关闭文件
    fclose(fp);

    return 0;
}


本博客内容既有转载自网络的内容,也有本作者原创内容,仅供学习与交流之用
如有侵权或者错误之处,请及时在下方留言!
喜欢 (0)
发表我的评论
取消评论
表情 贴图 加粗 删除线 居中 斜体 签到

Hi,您需要填写昵称和邮箱!

  • 昵称 (必填)
  • 邮箱 (必填)
  • 网址