Wie ktoś może jak po odczytaniu linii z pliku za pomocą funkcji getline() zapisać ją na listę?
Bardzo proszę o pomoc!
Zawartość pliku dvd.txt:
Ogniem i mieczem
Jerzy Hoffman
Izabella Scorupco
Michał Żebrowski
Aleksandr Domogarow
1999
Pan Tadeusz
Andrzej Wajda
Bogusław Linda
Michał Żebrowski
Daniel Olbrychski
1999
Tu jest struktura:
struct dvd
{string tytul;
string rezyser;
string aktor1;
string aktor2;
string aktor3;
string rok;};
typedef struct element
{ struct dvd p;
struct element *next;
}Element;
typedef Element *Lista;
A tu funkcja, która mi nie działa:
Lista przenies(Lista b)//funkcja przenosi elementy z pliku na liste
{
struct dvd z;
ifstream plik;
plik.open("dvd.txt");
if(!plik)
{
cout<<"Blad otwarcia pliku\n";
return b;
}
while(plik.good())
{string linia;
{getline(plik, linia);z.tytul<<linia;
getline(plik, linia);z.rezyser<<linia;
getline(plik, linia);z.aktor1<<linia;
getline(plik, linia);z.aktor2<<linia;
getline(plik, linia);z.aktor3<<linia;
getline(plik, linia);z.rok<<linia;
}
b=dodaj_ost(z,b);//dodaje element z pliku na koniec listy
}return b;
}
Lista dodaj_ost(struct dvd a, Lista b)//funkcja dodaje na koniec listy płyt nowy element
{
Lista p;
Lista pocz=b;
p=new Element;
p->p=a;
p->next=NULL;
if(!b)
return p;
Lista c;
while(b)
{
c=b;
b=b->next;
} c->next=p;
return pocz;
}