Hallo,
ich möchte gerne eine Klasse mit all ihren Variablen möglichst komfortabel speichern. Da in der Klasse aber z.B. QStrings drin sind, kann ich die Klasse über den this-Zeiger ja nicht so einfach in eine Datei packen. Also so hier gehts ja glaube ich nicht:
Jetzt in der Klasse z.B. nur ein QString drin. Wenn ich das speichere, speichert der mir eigentlich nur den Zeiger des QStrings und nicht seinen Inhalt selber. So hab ich das zumindest Verstanden. Muss ich da jetzt jede Variable einzeln in den DataStream schreiben oder gibt es irgendeinen Trick, um das ganze mit einmal in eine Datei zu packen?
Gruß
cesupa
ich möchte gerne eine Klasse mit all ihren Variablen möglichst komfortabel speichern. Da in der Klasse aber z.B. QStrings drin sind, kann ich die Klasse über den this-Zeiger ja nicht so einfach in eine Datei packen. Also so hier gehts ja glaube ich nicht:
Code:
QDataStream* out=new QDataStream;
QFile* file=new QFile(dst);
if(!file->open(QIODevice::WriteOnly))
return false;
out->setDevice(file);
out->writeBytes((const char*)this,sizeof(*this));
delete file;
delete out;
return true;
Jetzt in der Klasse z.B. nur ein QString drin. Wenn ich das speichere, speichert der mir eigentlich nur den Zeiger des QStrings und nicht seinen Inhalt selber. So hab ich das zumindest Verstanden. Muss ich da jetzt jede Variable einzeln in den DataStream schreiben oder gibt es irgendeinen Trick, um das ganze mit einmal in eine Datei zu packen?
Gruß
cesupa