Niepoprawne działanie pętli while(getline(fin, line))

0

Witam.
Napisałem program, który pobiera z pliku linię i sprawdza,czy zawiera się w niej podany przeze mnie ciąg znaków.
Algorytm wygląda następująco:

while(getline(fin, line)); //dopóki pobiera linię
{
 found=line.find("<notfound>");//znajdź <notfound> w line[zwracana wartość w przypadku nieznalezienia to string::npos]
 if(found!=string::npos){fout<<line<<endl;}//wartość w found jest różna od string::npos to zapisz line do pliku
}

wszystko okej, kompiluje się, ale nie wiem czemu algorytm pobiera TYLKO jedną linię z pliku.
Dla porównania while(getline(fin, line)) z innymi instrukcjami a tymi samymi danymi w pliku, do którego odnosi się fin działa poprawnie(często jest to ponad 60k linii)

Jakieś sugestie?

ps. found jest zadeklarowane jako size_t zgodnie z http://cplusplus.com/reference/string/string/find/
ps2. próbowałem

line.find(zmienna);

gdzie zmienna to szukany przeze mnie ciąg znaków - również nie pomogło.

1

Pętla się wykonuje tyle razy ile jest linii w pliku, ale za to ta pętla nie ma żadnych instrukcji do wykonania w jej ciele. Tamten średnik jest wszystkiemu winien.

0

hehe, sam nie wiem skąd się wziął ten średnik, pewnie pozostałość po innej instrukcji, która wcześniej tam była

dzięki wielkie!

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