PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : Zeilenweise aus einer Datei lesen mit hilfe eines Vetcors


SeniorReD
25.06.2002, 16:11
Hallo ich habe folgendes Problem: ich habe eine TxT-Datei der inhalt könnte so aussehen:

123456/gibtsdas/wirklich
654321/nicht/deinerst
789654/sagblos/
456987/schon/ne/feine/sache/das/cpp/
321654/stimmt/
741258/ich/mag/es/auch/
369852/dann/ist/es/ja/gut

Nun möchte ich jeden zeile einzeln auslesen können bzw. in einen Vector schreiben,weill ich ja nie genau weiss wie lang der string ist un n vector sich den benötigten speicher nimmt. Ich möchte daher kein extra buffer anlegen...

Zusammen gefasst:
Wiederhohle (bis EOF)
{
lieszeile in vector;
gebe diese aus;
}

Wie kann ich das in C++ am besten in HANDLEN?


Bolle
26.06.2002, 13:52
ifstream datei("bla.txt", ios::in|ios::binary);
char zeile[80]; // In diesen Array wird die Datei eingelesen
int i = 0;
while(datei.getline(zeile, 80)) // Datei in Array Zeile einlesen
{
cout << zeile << endl;
if( ++i == 20)
{
i = 0;
cout << "\n Weiter mit Enter" << endl;
cin.sync(); cin.get(); // Eingabespeicher leeren und Return abwarten
}
}
if( datei.eof()) // Datei zu Ende?
{
cerr << "Ende der Datei erreicht" << endl;
}

das sollte es sein, was du suchst. wenn dann 20 zeilen angzgezeigt wurden, wartet das program auf enter und es geht weiter.

SeniorReD
26.06.2002, 15:18
alles kloir ! danke schön!