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

Plik CSV

Ostatnio zmodyfikowano 2015-12-04 20:15
Autor Wiadomość
dzarson
Temat założony przez niniejszego użytkownika
Plik CSV
» 2015-12-04 17:27:00
Jak odczytać plik, którego każdy wers ma inną długość?

Chodzi mi o to, że czytając:

ifstream czytaj("kompr.csv");
int a;
char c;
while (!czytaj.eof())
{
czytaj >> a >> c;
}

Nie wiem kiedy natrafię na końcówkę linii. I jak wskakuje do nowego wersu to natrafiam na taki problem, że int wcztuje mi się do char, a ';' do int.

Z góry dziękuję za pomoc.  :)
P-141391
carlosmay
» 2015-12-04 17:49:18
Jak odczytać plik, którego każdy wers ma inną długość?
 Pokaż kilka linii z pliku.

Wartość EOF powstaje gdy próbujemy odczytać z pliku, który się skończył, co za tym idzie:
nawet jeśli wczytamy wszystko z pliku EOF nie wystąpi, dopiero przy następnej próbie odczytania (ostatnia linia wczyta się dwa razy).

C/C++
while( plik >> a >> b )
{
    cout << a << b;
}
 lepsze rozwiązanie.
P-141392
DejaVu
» 2015-12-04 20:15:55
W zasadzie poprawnego parsowania CSV nie uzyskasz bazując jedynie na znaku przejścia do nowej linii. Jeżeli chcesz czytać plik wierszami to zapoznaj się najpierw z std::getline, opisany w rozdziale » Kurs C++ » Poziom 4Podstawy obsługi plików lekcja, a następnie poczytaj o std::stringstream, który możesz wykorzystać do parsowania konkretnego wiersza.
P-141404
« 1 »
  Strona 1 z 1