Witam mam następujący problem. Pętla while(!plik.eof()) nie wykrywa końca pliku i działa w nieskończoność. Wcześniej działała. Nie wiem w czym jest problem. Stworzyłem nowy plik i pilnowałem by nie było spacji na końcu pliku też nie pomogło. W czym może być problem.
kod funkcji:
void wczytywanie(){
Wlasciciel wl(1);
int liczbakont;
ifstream plik;
plik.open("klienci.txt");
if (!plik.good()){
cout << "Nie moge otworzyc pliku" << endl
<< "dane klientow nie zostaly wczytane!" << endl
<< "Program zostanie zamkniety" << endl;
niewczytaniklienci=true;
system ("Pause");
}
else{
while (!plik.eof()){
cout << "I nie skonczyla sie" << endl;
wl.listakont.clear();
plik >> wl.imie;
plik >> wl.nazwisko;
wl.numer=klienci.size();
string m, u, k;
int nd, nm;
plik >> m >> u >> k >> nd >> nm;
wl.adres.ustaw(m,u,k,nd,nm);
plik >> wl.haslo;
plik >> liczbakont;
for(int i=0;i
Konto kon(1);
plik >> kon.pin >> kon.saldo >> kon.maxdebet;
wl.listakont.push_back(kon);
}
klienci.push_back(wl);
kontaklientow.push_back(wl.listakont);
}
cout << "Klienci zostali wczytani" << endl;
system ("Pause");
system ("cls");
}
plik.close();
}