从文件中读取数据到链表中

来源:百度知道 编辑:UC知道 时间:2024/06/17 18:39:26
单链表如下:
typedef struct LNode
{
int id;
char name[10];
int tel;
struct LNode *next;
}LinkList;
我是这样写的,不过错了
ifstream tfile("student.h",ios_base::binary);
if(tfile)
{
while(tfile.good())
{
cin.get(i);
p->id=i;
cin.getline(n,10,' ');
strcpy(p->name,n);
cin.get(t);
p->tel=t;
p=p->next;

}
}
tfile.close();
请教高手,希望给出具体代码,谢谢!

p=p->next; 错在这里,p->next 指针没有分配内存,是无效地址!

LinkList list;
LNode *p=&list;
...
...
while(tfile.good())
{
cin.get(i);
p->id=i;
cin.getline(n,10,' ');
strcpy(p->name,n);
cin.get(t);
p->tel=t;
p->next=new LNode;//这里要给指针分配内存
p=p->next;

}
...
...

最后程序结束记得用delete释放内存。