我创建了一个简单的记录器,它可以将所有重要的内容记录到一个文本文件中。我正在使用std::ofstream
但有一个问题 - 当程序出于任何原因(如崩溃)没有关闭文件(调用std::ofstream::close()
)时,创建的日志实际上是空的(0 大小)。而且由于日志在特殊情况下(当出现问题时)最有用 - 你会看到问题。
有什么方法可以保护我的日志不受此影响吗?我可以在写完每几行并使用 append 之后尝试关闭文件——但这仍然不能保护我免受程序在记录过程中/关闭文件之前崩溃的情况。有什么解决方案还是我注定要失败?