Hallöchen,
ich befasse mich gerade in C++ mit Streams, genauer gesagt mit Filehandling. Dabei soll also etwa der Text "Hallo" in eine Datei geschrieben werden. Alles kein Problem, über Arrays, Pointer oder sonstwas. Auch einzelne Character lassen sich abspeichern. Nur bei anderen Werten wie Long-Variablen oder Integer speichert er mir immer den Wert als Zahlenfolge und nicht als 4 Byte für die Long-Variable. Beispiel:
In die Datei wird jetzt folgendes geschrieben: "2329193"
Dabei soll da eigentlich der zugehörige 4-Byte Wert drinne stehn. In diesem Fall also "iŠ# "
Wie bekomm ich den Compiler dazu, nicht den Wert der Variable als Zeichenfolge in die Datei zu schreiben sondern die korrekten 4 Byte welche für diesen Wert benötigt werden? Denn wenn er den Wert als Zeichenfolge schreibt, schreibt er ja ganz andere Byte in die Datei. Nämlich die ASCII-Werte für die Ziffern 2,3,2,9,1,9,3. Und diese sind ja anders als die ASCII-Werte für den Inhalt der Variablen.
Muss ich davor erstmal den Zahlenwert in Charas wandeln (etwa per Char-Array) und dann einzeln als Char schreiben, dann wären es die korrekten Byte-Werte, oder gibt es da einfachere Wege? Etwa ein forgefertigter Befehl welcher die automatisch macht oder sowas?
Tutorialstechnisch hab ich bisher nur Beispiele gefunden welche Texte in Datein schreiben und das klappt ja soweit auch ganz gut. Nur bei Variablen macht er eine Ausnahme und schreibt die Werte anstelle der Byte.
Vielleicht hat auch noch jemand eine Methode diese Werte wieder korrekt auszulesen? Dass man per Funktion sagt, direkt in eine Long-Variable auslesen, dass er dann auch 4 Stellen in der Datei ausließt und deren Wert in die Long-Datei schreibt. Gibt es dafür Funktionen oder weiß jemand wie das zu machen wär? Vielleicht normal als Char-Array auslesen und per "Cast" in eine Long-Variable wandeln?
mfg.
Sunny