Niepoprawne działanie getline() - wczytywanie z pliku tekstowego
Ostatnio zmodyfikowano 2014-06-28 21:07
Vister26 Temat założony przez niniejszego użytkownika |
Niepoprawne działanie getline() - wczytywanie z pliku tekstowego » 2014-06-28 18:38:10 Napisałem program który ma wyszukać w słowniku (plik *.txt, 32MB, bez polskich znaków) wszystkie słowa 4-literowe i wypisać je na ekran int main() { fstream slownik; char wiersz[ 8 ]; memset( wiersz, 0, 9 ); slownik.open( "slownik.txt", ios::in ); if( slownik.good() == true ) { for( int i = 0; i < 9999; i++ ) { memset( wiersz, 0, 8 ); slownik.getline( wiersz, 8 ); if( wiersz[ 3 ] != 0 && wiersz[ 4 ] == 0 ) { cout << wiersz << endl; } } slownik.close(); return 0; } else return - 1; }
Program nie znajduje ani jednego takiego wyrazu (zwraca 0, ale "nie wchodzi" do wnętrza if ), chociaż są ich tam setki. Czy błąd jest gdzieś w getline()? |
|
pekfos |
» 2014-06-28 21:07:46 Na wszelki wypadek wychodzisz poza tablicę. Prawdopodobnie masz też za mały bufor i za mało słów wczytujesz. |
|
« 1 » |