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

Odczytywanie danych z pliku linia po linii

Ostatnio zmodyfikowano 2018-06-30 16:36
Autor Wiadomość
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:
C/C++
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]).
P-171721
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.
P-171722
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ć).
P-171723
YooSy
» 2018-06-30 13:27:12
Sprawdź czy plik ma rozmiar 0B.
P-171724
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.
P-171729
« 1 »
  Strona 1 z 1