c语言文件保存读取问题
代码如下
void Save(Pointer Head)
{
Pointer p;
FILE *fp;
p=Head;
for(i=0;p!=NULL;i++)
{
strcpy(p->name,stu[i].name);
p->number=stu[i].number;
p->sum=stu[i].sum;
strcpy(p->time,stu[i].time);
p=p->next;
}
if((fp=fopen(“stud.TXT”,“wb”))==NULL)
{printf(“can’t open !”);}
p=Head;
while(p!=NULL)
{
if(fwrite(p,sizeof(GuestLink),1,fp)!=1)
printf(“can’t write!\n”);
p=p->next;
}
fclose(fp);
}
void Put(Pointer Head)
{
FILE *fp;
Pointer p;
p=Head;
if((fp=fopen(“stud.TXT”,“r”))==NULL)
{printf(“can’t open the File\n”);}
printf(“编号\t姓名\t人数\t用餐时间\n”);
while(p!=NULL)
{
if(fread(p,sizeof(GuestLink),1,fp)!=1)
{printf(“can’t read!”);}
printf("%d\t",p->number);
printf("%s\t",p->name);
printf("%d\t",p->sum);
printf("%s\t\n",p->time);
p=p->next;
}
fclose(fp);
}
读取之后总是0怎么回事