Wenn Sie in C ++ mit Strg-C unterbrochen werden, rufen Sie eine Funktion mit Argumenten (außer der Signalnummer) auf, bevor Sie sterben

Ich möchte ein paar zusätzliche Zeilen in eine Datei schreiben, wenn ich mit Strg-C unterbrochen werde, bevor das Programm stirbt. Der Speicherort der Datei ist jedoch nicht fest codiert, sodass ich etwas mehr als die normale Interrupt-Behandlung benötigewie hier erklärt. Wie geht das am besten?

Motivation:
Ich mache zeitabhängige Finite-Elemente-Simulationen. Manchmal vergesse ich einen vernünftigen tmax oder schätze ihn falsch ein und die Simulation dauerte sehr lange, so dass ich sie mit Strg-C unterbreche. Ich möchte jedoch weiterhin die bis dahin generierten Daten verwenden. Insbesondere gibt es eine XML-Datei, an die nach Abschluss der Simulation einige Zeilen angehängt werden müssen, um die Tags zu schließen. Natürlich ist es möglich, dies von Hand zu tun, aber es ist ein Schmerz, also versuche ich, es zu automatisieren.

Antworten auf die Frage(2)

Ihre Antwort auf die Frage