我的代码当前正在消耗日志文件输出的字符,我不知道为什么。
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”
由于某些原因,“更多内容”被消耗/覆盖/消失。
最佳答案
代码用截断文件
theLog = fopen(filename, "w");
// w truncate to zero length or create text file for writing
使用
"a"
附加。theLog = fopen(filename, "a");