000
13.07.2006, 17:30 Uhr
mase
|
Hallo! Ich habe mir ein dynamisches Objekt "MusicList" von der Klasse "ProjectList" erstellt. Dieses Objekt würde ich nun gern in ein Binaryfile schreiben.
C++: |
ProjectFile.open(FileName.c_str(),ios_base::out | ios_base::binary); ProjectFile.write((char*)MusicList,sizeof *MusicList);
|
So hatte ich mir das gedacht, ergibt aber einen Segfault. Die Funktion erwartet einen Zeiger auf ein Zeichen und die Anzahl der Zeichen.
C++: |
ProjectFile.open(FileName.c_str(),ios_base::out | ios_base::binary); ProjectFile.write((char*)&MusicList,sizeof MusicList);
|
Das wäre die Syntax eines statischen Objekts. Deshalb hab ich mir gedacht, die Funktion käme mit der Adresse, die in der Zeiger- variablen "MusicList" steht aus. Die Anzahl der Zeichen wäre dann durch "sizeof" und die Dereferenzierung von "MusicList" zu ermitteln. Aber so funktioniert das nicht. Scheint ein Typenproblem zu sein. Kann mir jemand auf die Sprünge helfen? Kann ich in diese Datei noch ein zweites Objekt desselben Typs schreiben und dann vielleicht noch den ein oder anderen statischen Typ?
EDIT: Tags repariert -- May the force be with us! Dieser Post wurde am 13.07.2006 um 17:33 Uhr von J-jayz-Z editiert. |