Fprintf消耗字符

时间:2015-06-02 00:04:23

标签: c file

我的代码目前正在消耗输出日志文件的字符,我不确切知道原因。

FILE* theLog;
char filename[150];
theLog = fopen(filename, "w");
fprintf(theLog, "Blah Blah Blah");
time_t t = time(NULL);
struct tm tm = *localtime(&t);
fprintf(theLog, " Time: %d-%d-%d %d:%d:%d\n", tm.tm_year + 1900, tm.tm_mon + 1, tm.tm_mday, tm.tm_hour, tm.tm_min, tm.tm_sec);
fclose(theLog);



FILE* fp = fopen(((Start *)start)->logFile, "a");
fprintf(fp, "More Stuff");
fclose(fp);

我的输出将是:" Blah Blah Blah时间:2015-6-1 19:56:48 uff"

"更多东西"由于某种原因被消耗/覆盖/消失。

1 个答案:

答案 0 :(得分:0)

代码正在使用

截断文件
theLog = fopen(filename, "w");
// w truncate to zero length or create text file for writing

使用"a"追加。

theLog = fopen(filename, "a");