Вызывать функцию, когда окно консоли закрывается с помощью «X»

У меня проблема с моим консольным приложением, в котором я создаю файл журнала для хранения различных ошибок, которые произошли во время выполнения программы.

Я записываю все свои сообщения об ошибках в строковый буфер (stringstream) и передаю указатель этого буфера всем функциям, которые используют функции записи в буфер.

В конце я хочу проверить, пуст ли буфер; если да, то ничего не происходит и main должен вернуть 0; если нет, то буфер должен быть записан в файл.

Нет проблем при нормальном выходе из программы (в этом случае, когда основная функция возвращает 0), но как я могу проверить буфер, когда приложение закрыто с помощью «X»? Могу ли я поймать событие?

Я уже пробовал std :: setTerminate (), но он вызывает функцию-обработчик только при выходе из программы, а не когда я закрываю ее нажатием «X». Более того, я действительно не хочу использовать SetConsoleCtrlHandler.

1

Решение

Задача ещё не решена.

Другие решения

Других решений пока нет …

По вопросам рекламы [email protected]