Odczytywanie danych z pliku linia po linii
Ostatnio zmodyfikowano 2018-06-30 16:36
Ranger281 Temat założony przez niniejszego użytkownika |
Odczytywanie danych z pliku linia po linii » 2018-06-30 11:02:24 Witam. Chciałbym zapisać dane z pliku, linia po linii, do zmiennej, a następnie do wektora. Otwieram plik za pomocą takiej funkcji: void open() { string line; File.open( "file.txt", std::ios::in | std::ios::out ); if( File.good() ) { while( getline( File, line, ';' ) ) { if( !line.empty() ) { for( int i = 0; i < line.size(); i++ ) cout << line[ i ]; } } File.close(); } else cout << "Failed!\n"; }
Każda linia w file.txt kończy się „ ; ”, abym mógł je oddzielić. Na początku pierwszej linii za każdym razem zostaje wyświetlony „kwadrat” (tak samo, gdy plik jest pusty - a wtedy nic nie powinno zostać wypisane), którego nie mogę usunąć. Poza pętlą for, gdzie używam i, nie działa też line[index] (np line[1]). |
|
pekfos |
» 2018-06-30 11:12:20 Wyświetla się tekst, którego nie ma w pliku? Więc pewnie otwierasz inny plik, niż ci się wydaje. |
|
Ranger281 Temat założony przez niniejszego użytkownika |
» 2018-06-30 11:14:59 Kiedy plik jest pusty, wyświetla się tylko kwadrat (jakiś znak, którego nie powinno być). |
|
YooSy |
» 2018-06-30 13:27:12 Sprawdź czy plik ma rozmiar 0B. |
|
Ranger281 Temat założony przez niniejszego użytkownika |
» 2018-06-30 16:36:22 Plik miał rozmiar 4B, wyczyściłem go za pomocą std::ios::trunc i od tej pory funkcja działa. Dziękuję za pomoc. |
|
« 1 » |