【发布时间】:2010-12-22 06:31:49
【问题描述】:
通常,大多数产品都实现了日志文件机制。就 fopen / fclose 性能而言,编写调试日志文件的最佳实践是什么。保持文件指针打开(如果启用记录器)是一个好的选择还是每次需要将某些语句写入日志文件时频繁打开和关闭文件指针?
【问题讨论】:
-
既然是C++,为什么不用fstream呢?
-
如果您在每次记录操作后使用
fflush(),您可以将丢失任何已写入数据的风险降至最低。有一点开销,但这个开销比打开和关闭文件的开销要少得多。 -
@juraj :我也可以使用 fstream,但我的问题是关于打开和关闭文件处理程序。即使使用了 fstream,我们也需要打开和关闭文件流。
-
@jonanthan: 不担心数据丢失。thnx
-
如果使用 fstream,您必须只打开文件,如果需要,您可以关闭它,但您不必这样做,因为它将在析构函数中关闭。