fstream nie czyta kolejnych linii pliku
Ostatnio zmodyfikowano 2011-07-09 13:26
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 |
|
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 ;] |
|
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 ;) |
|
« 1 » |