Zahlenwerte in Datei speichern
-
Hallo.
Wie kann man int-Werte in einer Datei speichern?
Die Funktion ofstream.write () verlangt ja ein char-Attribut.
Möchte Hex-Werte aus einem int-array in eine txt Datei schreiben.
-
Mit ofstream.write() ist das aber sehr gut möglich.
Beispiel:
#include <iostream> #include <fstream> using namespace std; int main() { fstream f("testin.txt"); int x = 50, y = 0; f.write(reinterpret_cast<char*>(&x), sizeof(int)); // schreibe Zahl in f f.seekg(0L, ios::beg); f.read(reinterpret_cast<char*>(&y), sizeof(int)); // lese selbige Zahl wieder... cout << " y = " << y << endl; return 0; }Ansonsten gehts aber auch (ganz gewohnt) mit
#include <iostream> #include <fstream> using namespace std; int main() { fstream f("testin.txt"); // die testdatei... int x = 50, y = 0; f << x; // schreibe x in f f.seekg(0L, ios::beg); f >> y; // lese den geschriebenen Wert aus f cout << y; return 0; }Caipi
-
Ja sicher, hätte es ja einfach in den Stream schreiben können... Danke.
Wo ist der Unterschied zwischen ofstream und fstream? Benutze für die Eingabe ifstream, dachte mir dann die Ausgabe müsse über ofstream laufen. Ist fstream die Oberklasse?
-
seventh_son schrieb:
Ja sicher, hätte es ja einfach in den Stream schreiben können... Danke.
Wo ist der Unterschied zwischen ofstream und fstream? Benutze für die Eingabe ifstream, dachte mir dann die Ausgabe müsse über ofstream laufen. Ist fstream die Oberklasse?
Nicht "Oberklasse" sondern quasi "Unterklasse". fstream ist abgeleitet von ofstream und ifstream. D.h. fstream besitzt die Funktionalität von of- und ifstream weshalb du letzendlich mit diesem Stream Dateien lesen und schreiben kannst.
Caipi