我的 C 程序中有一个日志文件,每次用户执行查询时我都会尝试输入该日志文件。它可以工作,除了它将日期和时间打印到一行并将活动字符串打印到下面的行。我需要它将整个条目打印到一行。我已经尝试了一切,但不明白为什么它不起作用。我认为这与time_string有关。请问有人可以帮忙吗?代码如下所示;
/*
* This function writes a log to the log file.
*/
void write_log(char *activity) {
FILE *lf;
time_t current_time;
char *time_string;
current_time = time(NULL);
time_string = ctime(¤t_time);
strcat(time_string, activity);
lf = fopen("logs.txt", "a+");
fprintf(lf, "%s\n", activity);
fclose(lf);
}
该函数在 main 中调用,并为活动传递一个字符串文字。