在文件末尾添加行

时间:2009-11-07 17:00:08

标签: c file logging

我想在每个事件的文件末尾添加日志,并在其大小达到255 Mo时创建一个新日志。

例如,当前文件可能是/var/log/foo.2:

/var/log/foo.0.log (full log file)
/var/log/foo.1.log (full log file)
/var/log/foo.2.log

您是否了解C源?

谢谢

3 个答案:

答案 0 :(得分:4)

使用

打开文件时
File *fopen(const char *filename, const char *mode);

选择“a”作为模式。这将打开或创建一个文本文件,以便在文件末尾写入。

答案 1 :(得分:0)

如果您只想拥有这些功能,请查看log4c

如果你想知道它是如何工作的,你也可以查看它的代码。

如果您需要专门为您的应用量身定制的代码......

基本上,您需要将fopen"a"选项一起使用,其中a代表追加。

要确定文件的大小,请使用ftell或其他特定于平台的功能,因为据我所知,C标准中没有文件大小信息方法。或者你走得很远,只需从文件中读取所有字节并计算它们......

答案 2 :(得分:0)