刘德聪 2015-04-19 08:17 采纳率: 47.6%
浏览 1532
已采纳

C语言文件一小问!求大神

问题。我写了数据存放到文本,保存后。再次增加数据进去就出现问题。

1.一开始存入两个学生数据。没出错
图片说明
2.当我再往里面添加1个学生信息
图片说明
3.我次运行程序都会先刷新一下,增加数据都会保存。
void shuaxin() //刷新学生信息函数
{
FILE *fp;
int i=0; //记录学生人数
if((fp=fopen("student.txt","r"))==NULL)
{
printf("文件刷新失败\n");
exit(0);
}
while(fscanf(fp,"%s %s %s%f%f%f%f",stu[i].num,stu[i].name,stu[i].time,&stu[i].score[0],&stu[i].score[1],
&stu[i].score[2],&stu[i].sum)==7)
i++;
fclose(fp);
n=i; //n是学生总人数
printf("………………………………………%d位学生信息刷新录入完毕………………………………\n",n);
system("pause");
}
void baocun() //保存学生信息函数
{
FILE *fp;
int i=0; //录入学生人数
if((fp=fopen("student.txt","w"))==NULL)
{
printf("文件保存失败\n");
exit(0);
}
for(i=0;i<n;i++)
{
fprintf(fp,"%s %s %s %.2f %.2f %.2f %.2f",stu[i].num,stu[i].name,stu[i].time,stu[i].score[0],stu[i].score[1],stu[i].score[2],stu[i].sum);
fputs("\n",fp);
}
fclose(fp);
printf("………………………………一共有%d个学生信息已经保存……………………\n",n);
}
出题出现在哪里?

  • 写回答

3条回答 默认 最新

  • 鸿羽_HongYu 2015-04-19 13:09
    关注

    你重发一下代码,用选项里的“插入代码片”括起来,这样代码看不到,就是这个图标:“</>”

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

报告相同问题?

悬赏问题

  • ¥15 MATLAB怎么通过柱坐标变换画开口是圆形的旋转抛物面?
  • ¥15 寻一个支付宝扫码远程授权登录的软件助手app
  • ¥15 解riccati方程组
  • ¥15 display:none;样式在嵌套结构中的已设置了display样式的元素上不起作用?
  • ¥15 使用rabbitMQ 消息队列作为url源进行多线程爬取时,总有几个url没有处理的问题。
  • ¥15 Ubuntu在安装序列比对软件STAR时出现报错如何解决
  • ¥50 树莓派安卓APK系统签名
  • ¥65 汇编语言除法溢出问题
  • ¥15 Visual Studio问题
  • ¥20 求一个html代码,有偿