KingJoshii1000
Lieutenant
- Registriert
- Apr. 2010
- Beiträge
- 879
Hallo,
ich beschäftige mich zurzeit mit dem Schreiben u. Lesen von Binarydaten.
Nun habe ich ein kleines Programm geschrieben (dient keinem ernsthaften Zweck, nur als Übung) welches eine von mir erstellte Klasse in Binaryform in eine Datei schreibt und diese wieder auslesen soll. Das schreiben klappt super, jedoch bekomme ich die oben genannte Exception von Visual Studio nachdem ich auf den break treffe.
Hier der Sourcecode
Die Exception lautet wortgenau: Ausnahmefehler bei 0x5431DF58 (msvcp120d.dll) in Uebung_01.exe: 0xC0000005: Zugriffsverletzung beim Lesen an Position 0x00789584.
Wo genau liegt der Fehler?
Habe den Fehler bisher nur bei Binary Daten erhalten, jedoch fehlt mir noch das nötige KnowHow mit den Binary Sachen welche ich mir zurzeit aneigne.
Mit freundlichen Grüßen
ich beschäftige mich zurzeit mit dem Schreiben u. Lesen von Binarydaten.
Nun habe ich ein kleines Programm geschrieben (dient keinem ernsthaften Zweck, nur als Übung) welches eine von mir erstellte Klasse in Binaryform in eine Datei schreibt und diese wieder auslesen soll. Das schreiben klappt super, jedoch bekomme ich die oben genannte Exception von Visual Studio nachdem ich auf den break treffe.
Hier der Sourcecode
Code:
//Codeausschnitt (#include etc. ist vorhanden)
class test{
public:
test()
:wert(0), name("Null"){};
test(string Name, int Wert)
:wert(Wert),name(Name){};
string get_name(){
return name;
}
int get_value(){
return wert;
}
private:
string name;
int wert;
};
int main(){
char input = ' ';
test temp("Test_Objekt", 999);
while (true){
cin >> input;
switch (input){
case's':{
ofstream ofstr("log.binary", ios_base::out | ios_base::binary);
ofstr.write(as_bytes(temp), sizeof(test));
ofstr.close();
break;
}
case'a':{
test temp_read;
ifstream ifstr("log.binary", ios_base::in | ios_base::binary);
ifstr.read(as_bytes(temp_read), sizeof(test));
cout << temp_read.get_name() << endl;
break; <----------- Beim debuggen kommt hier die Exception.
}
default:{
cout << "Befehl unbekannt." << endl;
break;
}
}
}
keep_window_open();
}
Wo genau liegt der Fehler?
Habe den Fehler bisher nur bei Binary Daten erhalten, jedoch fehlt mir noch das nötige KnowHow mit den Binary Sachen welche ich mir zurzeit aneigne.
Mit freundlichen Grüßen