Chcę by program zapisywał oraz wczytywał dane na temat obiektów w zwykłym pliku tekstowym
Zapis wymyśliłem tak:
void Magazyn::zapisz_magazyn(){//zapis do pliku
fstream plik;
plik.open("magazyn.txt", ios::trunc | ios::app);
string naz;
int ile, ind;
float cena;
for( int i = 0; i < magazyn.size(); i++){
naz = magazyn[i].nazwa_tow;
ile = magazyn[i].ilosc;
ind = magazyn[i].indeks_tow;
cena = magazyn[i].cena_tow;
plik<<naz;
plik<<ile;
plik<<ind;
plik<<cena;
}
plik.close();
}
I teraz chcę napisać wczytywanie danych z pliku. W zamyśle każdy obiekt zajmuje 4 linie - nazwa, ilosc, indeks, cena. Program ma wczytac 1 linie i zapisac do zmiennej nazwa, druga do ilosc itd. a po wczytaniu czwartej linii gdy ma wszystkie dane potrzebne - zainicjalizowac obiekt. Jak to zrobić? Lepiej używać getline czy operatora <<? Wiem że operatorem << można wczytywać po kolei dane oddzielone znakiem białym, więc dane jednego obiektu byłyby w jednej linii. Ale jak wtedy zmieniać linię na kolejną?