模擬log日志的寫入。
調用write_log(pFile, format, ...);方法,即可寫入日志,默認在行首加入時間顯示。
代碼如下:log.c
#include <stdio.h> #include <stdarg.h> #include <time.h> int write_log (FILE* pFile, const char *format, ...) { va_list arg; int done; va_start (arg, format); //done = vfprintf (stdout, format, arg); time_t time_log = time(NULL); struct tm* tm_log = localtime(&time_log); fprintf(pFile, "%04d-%02d-%02d %02d:%02d:%02d ", tm_log->tm_year + 1900, tm_log->tm_mon + 1, tm_log->tm_mday, tm_log->tm_hour, tm_log->tm_min, tm_log->tm_sec); done = vfprintf (pFile, format, arg); va_end (arg);
fflush(pFile); return done; } int main() { FILE* pFile = fopen("123.txt", "a"); write_log(pFile, "%s %d %f\n", "is running", 10, 55.55); fclose(pFile); return 0; }
編譯運行:
gcc log.c -o log
./log
返回結果:
2016-12-13 13:10:02 is running 10 55.550000
2016-12-13 13:10:04 is running 10 55.550000
2016-12-13 13:10:04 is running 10 55.550000
鏈接:http://www.cnblogs.com/837239638MrSu/p/6169534.html