Panel użytkownika
Nazwa użytkownika:
Hasło:
Nie masz jeszcze konta?

fstream nie czyta kolejnych linii pliku

Ostatnio zmodyfikowano 2011-07-09 13:26
Autor Wiadomość
Terminator3
Temat założony przez niniejszego użytkownika
fstream nie czyta kolejnych linii pliku
» 2011-07-09 12:55:42
Mam problem, gdy używam funkcji get pierwszy raz wszystko jest ok ale drugi raz nie otrzymuję nic

char str3[256];
plik1.get(str3, 256);
while(!plik1.fail())
{
if(!strfind(str3, str))
{
//nieistotny kod
break;
}
plik1.get(str3, 256);
}
plik1.seekg(0);
chodzi o to że kod się wykonuje, po pobraniu pierwszej linii za pomocą get jest ok, strfind (napisana przeze mnie funkcja) zwraca 0, kod się przerywa, wykonuje się seekg, problem pojawia się jak chce pobrać coś z drugiej linijki, pobierana jest pierwsza, strfind zwraca -1 czyli nie zaleziono, ale kolejne wykonanie get tym razem w pętli nie daje nic, fail zwraca 1 i koniec, plik ma na pewno 3 linie, próbowałem też zmieniać enter w pliku z \r\n na \n też nic, nie mam pomysłów co może być nie tak :/ plik jest otwarty w trybie ios::in, kod dobrze przeanalizowałem i wszystkie string itp. się zgadzają tylko ten get nie chce mi pobrać kolejnej linijki z pliku, tekst w nim jest bardzo krótki więc nie ma mowy o tym że 256 to za mało, więcej funkcji na tym pliku nie używam, jedynie po zakończeniu zamykam go
P-35623
murek
» 2011-07-09 13:02:58
nie iwem co pobierasz dokladnie z pliku, ale przed pobraniem stingow daj moze plik1.ingore();

pamietam, ze kiedys mialem podobny problem, tylko, ze ja wlasnie najpierw wczytywalem inta okreslajacego wielkosc tablicy dynamicznej struktury i zapomnialem wlasnie o ignore() i z dwie godziny zmarnowalem ;]
P-35624
Terminator3
Temat założony przez niniejszego użytkownika
» 2011-07-09 13:26:16
oo dzięki wielkie, działa, a w ogóle dziwne bo pamiętam że już kiedyś tak robiłem bez tego ignore i było ok, ale mniejsza o to, jeszcze raz dzięki ;)
P-35625
« 1 »
  Strona 1 z 1