我想从二进制文件中导入数据到链表中,编译没有错,导入的时候运行中断,数据可以写入二进制文件,二进制文件也能创建。哪位高手帮我看看啊!!感激不尽!!!!
void CreateList(char *filename)//从二进制文件中读入数据,构建链表
{
ifstream infile(filename, ios::in|ios::binary|ios::nocreate);
if(!infile) //如果文件不存在,直接返回,空表
{ cout<<"文件打开失败"<<endl;
return;
}
else
{ int n;
infile.read((char *)&n, 4);//读出记录数
cout<<"正在从数据中加载";
Node *p;
for(int i=0; i<n;i++)
{
p=new Node;
infile.read((char *)p, sizeof(Node));
AddTail(p);
}
}
infile.close();
cout<<"数据从二进制文件加载成功!"<<endl;
}
AddTail()函数是
void AddTail(Node *p)//将p指向的结点加入到链表尾部
{
if(HeadPtr==NULL)
{ HeadPtr=p;
TailPtr=p;
p->Next=NULL;
}
else
{ TailPtr->Next=p;
p->Next=NULL;
TailPtr=p;
}
}


