如何从文件中读取链表?

时间:2018-12-10 15:13:30

标签: c++ file linked-list stack

我正在尝试将链接列表写入文件,并从文件中读取内容并将其推入堆栈。但是,在从文件中读取链接列表时,我遇到了问题。它不显示我已插入文件的输出。如果有人可以帮助我解决这个问题,我将不胜感激,因为这是我项目的一部分。

class nodeBooking
{
public:
    string id;
    string hall;
    string time;
    int day;
    int month;
    string ycourse;
    string subject;
    nodeBooking *link;

};
class booking
{
nodeBooking *top;
public:

    void writefile();
    void readfile();
};
void booking::writefile()
{
nodeBooking *p = top;
fstream file;
file.open("file.dat", ios::out|ios::binary);

while(p)
{
    file.write(reinterpret_cast<char *> (p), sizeof(nodeBooking));
    p=p->link;
}
file.close();
}

void booking::readfile()
{
nodeBooking *p = NULL;
fstream file;
file.open("file.dat", ios::in|ios::binary);

p = new nodeBooking[sizeof(nodeBooking)];
file.read(reinterpret_cast<char *> (p), sizeof(nodeBooking));

nodeBooking *currnode = p;
while (currnode!=NULL)
{
    cout<<currnode->hall<<currnode->time<<currnode->day<<currnode->month<<currnode->ycourse<<currnode->subject<<endl;
    currnode=currnode->link;    
}
file.close();
}

0 个答案:

没有答案