Chcę odczytać dane z pliku za pomocą przeładowanego operatora ">>". Przeczytałem parę tematów na forach i testowałem różne kombinacje ale nic nie daje rezultatu. Niby się kompiluje bez błędów ale zamierzonego wyniku nie ma, gdy w programie wyświetlam magazyn, jest on pusty, a powinien zostać wczytany wraz ze startem programu. Funkcja wyświetlania na pewno działa jak należy, ponieważ pokazuje obiekty utworzone w programie, nie pokazuje tylko tych które powinien wczytać z pliku.
Tak jest zdefiniowana funkcja
istream & operator >> (ifstream & in, Magazyn & obiekt){
int i = 0;
while(!EOF){
return in >> obiekt.magazyn[i]->nazwa_tow >> obiekt.magazyn[i]->ilosc >> obiekt.magazyn[i]->cena_tow >> obiekt.magazyn[i]->indeks_tow;
i++;
}
}
A tak ją wywołuję:
void Magazyn::wczytaj_magazyn(Magazyn & obiekt){ //odczyt z pliku
ifstream plik("magazyn.txt", ios::in);
plik >> obiekt;
plik.close();
}
Jeśli potrzeba innego fragmentu kodu wystarczy napisać, nie trzeba od razu krytykować