Funktion aufrufen, wenn Konsole geschlossen wird?
-
Hallo Leute,
Bisher hab ich folgendes als atexit Funktion definiert, leider stürzt das Programm immer ab, wenn ich die Konsole schließe, d.h. es reagiert zunächst weder IDE noch Konsole und dann kommt Windows mit "Sofort beenden, bla bla" wenn ich auf abbrechen klicke wird im Debugger angezeigt, dass der Hauptthread beendet wurde und dann zeigt mir der Debugger einen Fehler an, wo bei "ofstream savefile;" an...
Was mache ich falsch???
void exit_save_all(void) { cout << "Daten werden gespeichert..." << endl; { ofstream savefile; savefile.open("../data/save.txt"); if (!savefile) { cout << "Datei konnte nicht erstellt werden: ../data/save.txt" << endl; return; } else { cout << "Daten gespeichert" << endl; return; } } return; }Gruß
Scarabol
-
atexitist nicht dafür gedacht. Was du machen willst, ist mit Standard C++ nicht umsetzbar, weil C++ gar keine Ahnung von z.B. Fenstern hat. Du musst da auf systemspezifische Funktionen zurückgreifen. Unter Windows wäre das zum Beispiel die WinAPI.Wenn du angibst, welches System du benutzt, wird dich sicher ein Moderator verschieben. Vielleicht kann nach Angabe des OS sogar jemand von hier helfen, aber im falschen Forum bist du damit trotzdem

Grüssli
-
Oh danke, son Mist bin noch nicht so lange hier und lesen find ich auch nicht so einfach
ergo falsches Forum... mein OS ist übrigens WINXPGruß
Scarabol
-
Auf Windows, dann WinAPI, dann dürfte womöglich die folgende Funktion dir weiterhelfen:
http://msdn.microsoft.com/en-us/library/ms686016.aspxGrüssli