零点柒 2021-01-13 15:48 采纳率: 40%
浏览 833

C语言如何将数据保存到二进制文件中?

    本人学生,在完成作业时遇到这样的问题:输入数据后将数据保存到二进制文件?我在网上查到使用二进制文件的打开方式有"wb",

于是我写了这段代码:

#include<stdio.h>
int main()
{
    struct student
    {
        int  num;
        char name[20];
        float score;
    }stu[80];
    int i;
    FILE *fp;
    fp=fopen("student.txt","wb");
    for(i=0;i<5;i++)
    scanf("%d%s%f",&stu[i].num,&stu[i].name,&stu[i].score);
        for(i=0;i<5;i++)
            printf("%d,%s,%f",stu[i].num,stu[i].name,stu[i].score);
for(i=0;i<5;i++)
            fprintf(fp,"%d,%s,%f",stu[i].num,stu[i].name,stu[i].score);
fclose(fp);
return 0;
}

但最终的结果和普通的文本文件一样,我想知道是结果原本就这样还是错了?如果错了,那么正确的代码怎么写,请各位前辈帮忙?

  • 写回答

1条回答 默认 最新

  • hychen0405 2021-01-13 17:12
    关注

    使用fwrite()

    评论

报告相同问题?

悬赏问题

  • ¥15 素材场景中光线烘焙后灯光失效
  • ¥15 请教一下各位,为什么我这个没有实现模拟点击
  • ¥15 执行 virtuoso 命令后,界面没有,cadence 启动不起来
  • ¥50 comfyui下连接animatediff节点生成视频质量非常差的原因
  • ¥20 有关区间dp的问题求解
  • ¥15 多电路系统共用电源的串扰问题
  • ¥15 slam rangenet++配置
  • ¥15 有没有研究水声通信方面的帮我改俩matlab代码
  • ¥15 ubuntu子系统密码忘记
  • ¥15 保护模式-系统加载-段寄存器