ofstream сброс файла на диск перед сторожевым тайм-аутом

Я пишу в файл каждую секунду, используя ofstream. Однако есть вероятность срабатывания сторожевого таймера, что приведет к перезагрузке всей моей системы. Когда это происходит, я теряю все свои данные, которые я записал в файл. Я пробовал std: flush, отключая буферы с помощью myfile.rdbuf()->pubsetbuf(0,0), и пробовал myfile.flush() перед myfile.close(). Ничто не похоже на работу. Какие-либо предложения? Это в C++.

1 ответ

Кажется, что невозможно использовать что-то конкретное с ofstream. Поэтому я закрыл файл fsync(), и это решило проблему.

Другие вопросы по тегам