problem z ifstream

0

Czy ktos moze mi wytlumaczyc dlaczego ponizszy kod:
[code]
ifstream plik;
char znak;

plik.open(path,ios_base::binary);

while(!plik.eof())
{
plik.get(znak);

}[/code]
wczytuje ostatni bajt pliku dwa razy.Program kompilowalem w builder 6.

0

przyznam sie szczerze u mnie taki blad nie wystepuje. Zamienilem tylko ios_base na ios i dziala dobrze.
Zarowno jako ios::in oraz ios::binary

0

Tak wracajac do tematu okazalo sie ze dziala poprawnie w takiej postaci:
[code]
ifstream plik;
char znak;

plik.open(path,ios_base::binary);

while(!plik.eof())
{
znak=plik.get();

}
[/code]
Plik byl tekstowy i zamiast znaku konca pliku wczytywalo poprzedni znak. Nie moge jednak zrozumiec dlaczego.

1 użytkowników online, w tym zalogowanych: 0, gości: 1