Forum: PC-Programmierung Zeilen ignorieren im C++ In-Stream


von michel (Gast)


Lesenswert?

Hi,

ich habe einen ifstream logischerweise aus einer Datei.
DIe Datei hat folgendes Aussehen:

"
text
text
text

12
3
4
3
5

text
"

Mittels

int y;
in << y;

kann ich ja die einzelnen Einträge auslesen. Natürlich klappt das nur,
wenn ich die ersten vier Textzeilen nicht in y speichere. Das gibt
erwartungsgemäß einen Fehler.
Bisher lösche ich Zeilen die also immer manuell und starte dann die
Auslese (lästig!).

Meine Frage:

Wie kann ich über die Streams die ersten 4 Zeilen ignorieren und nur
die Integers auslesen?

Gruß Michel

von Christoph _. (chris)


Lesenswert?

[cpp]
{
    std::string dummy;
    for(int i = 0; i < 4; ++i)
        std::getline(in, dummy);
    // Block wird geschlossen, dummys Speicher damit freigegeben
}
[/cpp]

Vielleicht reicht auch schon drei Mal getline().

von michel (Gast)


Lesenswert?

es funktioniert!!!

danke vielmals

von Rolf Magnus (Gast)


Lesenswert?

Eine andere Möglichkeit wäre die Memberfunktion ignore().

Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.