C プログラムにログ ファイルがあり、ユーザーがクエリを実行するたびにエントリを作成しようとしています。日付と時刻を 1 行に出力し、アクティビティ文字列をその下の行に出力する以外は機能します。エントリ全体を 1 行に出力する必要があります。私はすべてを試しましたが、なぜうまくいかないのかわかりません。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);
}
関数はメインで呼び出され、アクティビティの文字列リテラルが渡されます。