Dateien lesen und dynamischer Speicher
-
Hallo Forum,
Folgende Situation.
Eine Klasse "neueDatei", die Dateien auslist hat als Rückgabe per Referenz
einen Datenbuffer und Buffersize. Etwa so:neueDatei Datei; Datei.Dateilesen(Dateinname, Datenbuffer, Buffersize);In meinem Programm werden mehrfach Dateien gelesen.
Also brauche ich dynamischen Speicher, den ich bisher so erzeugt habe:char *Datenuffer; unsigned int Buffersize; Datei.Dateilesen(Dateinname, Datenbuffer, Buffersize); Buffer = new char [Buffersize]; Datei.Dateilesen(Dateinname, Datenbuffer, Buffersize);Das funktioniert auch prima, ist aber nicht sehr elegant.
Ich muß hier "Dateilesen" immer zwei mal ausführen.
Beim ersten mal lese ich die Buffersize, dann reserviere
ich den Speicher und kann jetzt erst den Datenbuffer auslesen.Gibt es eine bessere Möglichkeit?
Danke
Laserandi
-
Laserandi schrieb:
Gibt es eine bessere Möglichkeit?
Womit liest du Dateien ein? Bei den Streams hast du standardmässig einen Puffer dabei, der für dich die Arbeit übernimmt. Aber ansonsten: Wie wärs mit zwei Methoden, von denen eine die Puffergrösse liest und die andere den restlichen Inhalt?
Und hast du an
delete[]gedacht? Wieso heisst die Klasse eigentlichneueDateiund nichtDateioder etwas Aussagekräftigeres?