c语言。谢了2个函数save()将链表信息写入文件,fresh()读取文件信息到单链表。单fres

c语言。谢了2个函数save()将链表信息写入文件,fresh()读取文件信息到单链表。单fresh()运行就直接崩溃。下面是代码。请指教,想不去原因。
int save()
{
linklist *s;
FILE *fp;
fp=fopen("member.txt","wb");
if (fp==NULL)
{
printf("can not open file!\n");
return 0;
}
else
{
s=head;
while (s->next!=NULL)
{
fprintf(fp,"%s %s %s %s %s %s %s ",s->next->num,s->next->name,s->next->sex,s->next->tel,s->next->salary,s->next->tax,s->next->addr);
s=s->next;
}
fclose(fp);
return 1;
}
}
void output()
{
linklist *s;
s=head->next;
while (s!=NULL)
{
printf("%s\t%s\t%s\t%s\t%s\t%s\t%s\t\n",s->next->num,s->next->name,s->next->sex,s->next->tel,s->next->salary,s->next->tax,s->next->addr);
s=s->next;
}
}
int fresh()
{
linklist *s,*r;
FILE *fs;
fs=fopen("member.txt","rb");
if (fs==NULL)
{
printf("can not open the file!\n");
return 0;
}
else
{
head2=(linklist *)malloc(sizeof(linklist));
r=head;
while (!feof(fs))
{
s=(linklist *)malloc(sizeof(linklist));
fscanf(fs,"%s %s %s %s %s %s %s ",s->next->num,s->next->name,s->next->sex,s->next->tel,s->next->salary,s->next->tax,s->next->addr);
r->next=s;
r=s;
}
r->next=NULL;
fclose(fs);
}
}

第1个回答  2015-04-07
linklist似乎没定义。
相似回答
大家正在搜