datei einlesen
-
Hi,
ich moechte gerne in einer Funktion eine Datei zeilenweise einlesen und diese in ein Array schreiben, dass ich dann wieder aus der Funktion zurueckgebe.
Aber ich weiss vorher ja gar nicht, wie viele Zeilen die Datei hat. Gibt es eine Moeglichkeit, das Array dynamisch anzupassen und dies auch zurueckgeben zu koennen, bzw. hat jemand einen Tipp für eine geschicktere Loesung?Vielen Dank schon mal.
-
Morgen,
schau dir mal std::vector an.
mfg
v R
-
absoluter_anfaenger schrieb:
Hi,
Aber ich weiss vorher ja gar nicht, wie viele Zeilen die Datei hat. Gibt es eine Moeglichkeit, das Array dynamisch anzupassen und dies auch zurueckgeben zu koennen, bzw. hat jemand einen Tipp für eine geschicktere Loesung?
Vielen Dank schon mal.Ja.
Erst grösse der Datei ermitteln,
Array dynamisch mit new[groesse] anlegen,
wenn man das Array nicht mehr braucht wieder mit delete[] freigeben.
Die neuen Zeilen erkennts du am Umbruchzeichen '\n' je nach Platform
kann das anders sein. Unter DOS sind es iirc zwei Zeichen '\n' und '\r'
unter Apple ist es wieder anders.Aber wie schon jemand anderes schrieb, nimm std::vector damit tut man sich
leichter und hat weniger Probleme.
-
Danke Euch,
dann gucke ich mal, ob ich mit std::vector zurechtkomme.
-
Tag,
und schau dir in diesem Zusammenhang auch einmal std::string und std::getline
an. Ein Blick in die FAQ hilft auch wunder. Hume hat dort einen wunderbaren
Artikel ueber Streams geschrieben.mfg
v R
-
Super,
hat funktioniert.
Vielen dank noch mal.