kid_0203 2015-12-27 07:26 采纳率: 50%
浏览 1539
已采纳

请问c语言中fread这么用可以吗

 /* PRESET CODE BEGIN - NEVER TOUCH CODE BELOW */

#include<stdio.h>
#include <stdlib.h>
struct Student
{
    char num[10];
    char name[10];
    float c[3];
};

/* PRESET CODE END - NEVER TOUCH CODE ABOVE */
struct Student stu[30];
int main()
{FILE *fp=fopen("cj.txt","rb");struct Student *p;
for(p=stu;p<stu+30;p++)
{fread(&p,sizeof(struct Student),1,fp);
}
printf("%s,%s,%.1f,%.1f,%.1f\n",p->num,p->name,p->num[0],p->num[1],p->num[2]);
}

从文件cj.txt读入一个班的学生成绩(人数不大于30),用结构体数组保存,并输出到屏幕。
内容包括:学号、姓名、语文、数学、外语。
每个学生输出一行,格式为“0001,niu12,99,99,99”

cj.txt的内容
00001 niu34 99 62 95
00002 niu35 97 62.5 93.5
00003 niu36 95 63 92
00004 niu37 93 63.5 90.5
00005 niu38 91 64 89
00006 niu39 89 64.5 87.5
00007 niu40 87 65 86
00008 niu41 85 65.5 84.5
00009 niu42 83 66 83
00010 niu43 81 66.5 81.5
00011 niu44 79 67 80
00012 niu45 77 67.5 78.5
00013 niu46 75 68 77
00014 niu47 73 68.5 75.5
00015 niu48 71 69 74
00016 niu49 69 69.5 72.5

总是会报错,,,,,,,

  • 写回答

2条回答 默认 最新

  • 纹枰老妖 2015-12-27 10:09
    关注

    请题主在最后那句【printf】前面,加上一句【p=stu;】,把p重新指向&stu[0]这个位置

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
查看更多回答(1条)

报告相同问题?

悬赏问题

  • ¥15 kafka 分区副本增加会导致消息丢失或者不可用吗?
  • ¥15 微信公众号自制会员卡没有收款渠道啊
  • ¥15 stable diffusion
  • ¥100 Jenkins自动化部署—悬赏100元
  • ¥15 关于#python#的问题:求帮写python代码
  • ¥20 MATLAB画图图形出现上下震荡的线条
  • ¥15 关于#windows#的问题:怎么用WIN 11系统的电脑 克隆WIN NT3.51-4.0系统的硬盘
  • ¥15 perl MISA分析p3_in脚本出错
  • ¥15 k8s部署jupyterlab,jupyterlab保存不了文件
  • ¥15 ubuntu虚拟机打包apk错误