C语言 链表的读取问题
if((fp=fopen("c:\\test.txt","rb"))==NULL){printf("文件读取失败\n");exit(0);}for(i=1;i<=5;i+...
if((fp=fopen("c:\\test.txt","rb"))==NULL)
{
printf("文件读取失败\n");
exit(0);
}
for(i=1;i<=5;i++)
{
p1=(struct student *)malloc(sizeof(struct student));
if((fread(&p1,sizeof(struct student),1,fp))!=1)
{
printf("数据读取失败\n");
exit(1);
}
if(i==1)
head=p1; //如果输入的第一个节点,则让链表头指向P1
else
p2->next=p1;
p2=p1; //让P2指向P1,目的使下次能用p2连接下一个p1节点
}
p2->next=NULL;
p1=head;
printf("数据如下\n");
while(p1!=NULL)
{
printf("%d ",p1->num);
p1=p1->next;
}
return 0;
}
~~~~~~~~~~~~~~~~~~~~~~~~~~··
已知c:\\test.txt中数据
101
102
103
104
105
为什么我读取不了这里面的数据,一执行程序就出错 展开
{
printf("文件读取失败\n");
exit(0);
}
for(i=1;i<=5;i++)
{
p1=(struct student *)malloc(sizeof(struct student));
if((fread(&p1,sizeof(struct student),1,fp))!=1)
{
printf("数据读取失败\n");
exit(1);
}
if(i==1)
head=p1; //如果输入的第一个节点,则让链表头指向P1
else
p2->next=p1;
p2=p1; //让P2指向P1,目的使下次能用p2连接下一个p1节点
}
p2->next=NULL;
p1=head;
printf("数据如下\n");
while(p1!=NULL)
{
printf("%d ",p1->num);
p1=p1->next;
}
return 0;
}
~~~~~~~~~~~~~~~~~~~~~~~~~~··
已知c:\\test.txt中数据
101
102
103
104
105
为什么我读取不了这里面的数据,一执行程序就出错 展开
1个回答
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询