TFileStream->Write
-
Ich weiß wir hatten das schon tausend mal, aber ich komme nicht wirklich weiter...
also, ich haben in einer Struktur eine Floatvariable x. Der Wert der Variablen soll jetzt in eine Datei geschrieben werden. Ich habe das so gemacht:
TFileStream *fl = new TFileStream("C:\\blob.3di", fmCreate); fl->Write(&x, 4);
Er soll dann um 4 Bytes verschieben. Leider kommt da jetzt ziemlicher Blödsinn raus. Was habe ich falsch gemacht? Kann es sein, dass er nur die Adresse der Variablen einträgt und nicht den Wert? Wenn ja, wie bekomme ich es hin, dass er den Wert einträgt?
-
Was heiss "ziemlicher Blödsinn", hast du die Zahl zur Kontrolle mal aus der Datei zurückgelesen?
Der Code ist soweit in Ordnung.
PS. Denk dran, dass du hier eine Binärdatei erzeugst, in einem Texteditor wird da natürlich nur "Müll" angezeigt. Wenn du die Zahl im "Klartext" abspeichern willst musst du sie vorher in einen String umwandeln.
[ Dieser Beitrag wurde am 27.02.2003 um 16:42 Uhr von Jansen editiert. ]
-
das er die daten binär speichert ist ja auch so gewollt
habe dieses programm parallel zu einem kollegen geschrieben (er hat es mit pure basic geschrieben) und da er mindestens 5 jahre mehr erfahrung hat als ich, dachte ich seine lösung wäre richtig. er hatte nömlich andere werte raus als ich. aber dem war nicht so
also stimmte der code von mir.
also was ich damit eigentlich sagen wollte ist, man sollte nicht immer auf leute mit mehr erfahrung hören
und der thread kann gelöscht werden, hat sich nämlich erledigt.
-
Warum sollte das gelöscht werden, aus Fehlern (auch anderer) lernt man doch am meisten.