int addcard()//增加读者卡
{
FILE *fp;
fp=fopen("card.txt","a+");
int i;
for(i=0;fread(&cards[i],sizeof(struct card),1,fp)!=0;i++)
;
printf("请输入新增的卡号:\n");
scanf("%d",&cards[i].cardnum);
printf("请输入新增的读者姓名:\n");
scanf("%s",&cards[i].readername);
printf("请输入新增的读者班级:\n");
scanf("%d",&cards[i].stuclass);
printf("请输入默认的初始借阅图书序号为0。\n");
scanf("%d",&cards[i].booknum);
printf("请输入默认的初始借书日期为0。\n");
scanf("%d",&cards[i].lenddate);
fwrite(&cards[i],sizeof(struct card),1,fp);
fclose(fp);
printf("请按任意键返回。\n");
getch();
return TURE;
}
在运行时输入卡号:231 姓名tui 班级2 序号 0 班级0
记事本的内容为 N tui
为什么会这样?怎么改?