0

i am facing a problem in file reading for multiple linked lists written in one file! please help !in c++

i am writing multiple linkedlists in a text file where my linked list contain nodes whose data is of integer type and a count which shows number of nodes in my linked list for a single linked list my read from file and write to file is working perfectly fine but for multiple nodes it causes a runtime error i don't know much but i think file pointer is not maintaining its place from where it has to read 2nd linked list ! please help !

31st Mar 2018, 1:49 PM
komal shehzadi
komal shehzadi - avatar
8 ответов
+ 3
Apologies, I was busy so couldn't respond to my earlier comments! Hope other people's answers helped ☺
31st Mar 2018, 4:58 PM
Emma
+ 1
You probably need to display some of the code, the file format you're using, and the runtime error you're experiencing.
31st Mar 2018, 1:56 PM
Emma
0
void CList::ReadFromFile(ifstream &infile) { Node* bp; Node* rp; int newCount; infile.read((char*) &newCount, sizeof(newCount)); if(this->count >= newCount) { rp = this->head; for(int i = 0; i < newCount; i++) { rp->ReadFromFile(infile); rp->print(); bp = rp; rp = rp->next; } bp->next = NULL; this->count = newCount; while(rp) { bp = rp; delete bp; rp = rp->next; } } else { rp = head; for(int i = 0; i < this->count; i++) { rp->ReadFromFile(infile); bp = rp; rp = rp->next; } for(int k = 0; k < (newCount - this->count); k++) { rp = new Node(); rp->ReadFromFile(infile); rp->print(); bp->next = rp; bp = rp; } bp->next = NULL; this->count = newCount; } } this is my read from file and write to file of list class
31st Mar 2018, 2:00 PM
komal shehzadi
komal shehzadi - avatar
0
void Node::ReadFromFile(ifstream &infile) { infile.read((char*) &this->data, sizeof(this->data)); } void Node::WriteToFile(ofstream &ofile) { ofile.write((char*) &this->data, sizeof(this->data)); } this my readfromfile and writetofile of node class
31st Mar 2018, 2:02 PM
komal shehzadi
komal shehzadi - avatar
0
int main() { ofstream ofile; ofile.open("ofile.txt"); Node* ptr1 = new Node(1); Node* ptr2 = new Node(2); Node* ptr3 = new Node(3); Node* ptr4 = new Node(4); Node* ptr5 = new Node(5); Node* ptr6 = new Node(6); Node* ptr7 = new Node(7); Node* ptr8 = new Node(8); CList L1; L1.Insert(ptr1); L1.Insert(ptr2); L1.Insert(ptr3); L1.Insert(ptr4); L1.Insert(ptr5); L1.Insert(ptr6); L1.Insert(ptr7); L1.Insert(ptr8); CList L3(L1); L3.Print(); cout<< endl; L1.Remove(); L1.Remove(); L1.Print(); L3.WriteToFile(ofile); L1.WriteToFile(ofile); ofile.close(); ifstream infile; infile.open("ofile.txt"); CList L2; L2.ReadFromFile(infile); L2.Print(); infile.close(); infile.open("ofile.txt"); L2.ReadFromFile(infile); L2.Print(); return 0; } this is my main program
31st Mar 2018, 2:03 PM
komal shehzadi
komal shehzadi - avatar
0
post a minimal complete example , if you want me to check it.
31st Mar 2018, 3:47 PM
---
--- - avatar
0
i am not getting it Jpm7
31st Mar 2018, 4:07 PM
komal shehzadi
komal shehzadi - avatar
0
thank you so much everyone ☺
7th Apr 2018, 11:59 AM
komal shehzadi
komal shehzadi - avatar