Доброго времени суток!
Есть 2 функции:
static char Time[10];
char* getTime()
{ //функция возвращает форматированное время
bzero(Time, 10);
time_t seconds = time(NULL);
tm* timeinfo = localtime(&seconds);
strncpy(Time,asctime(timeinfo)+11,9);
return Time;
}
void WriteLog(const char* str, ...)
{
FILE * lf;
lf=fopen(LOG_FILE,"a");
fprintf(lf, str); //печатаем в файл
fclose(lf);
}
Используются они так: WriteLog("%s [DAEMON] Started, %d\n", getTime(), 125);
А в файл приходит следующее: /*кракозябры*/[DAEMON] Started, 1088
Косяк однозначно в fprintf и использовании функции от нескольких аргументов, но я пока хз, как поправить его.