在日志记录时经常需要输入多种格式的内容,我们可以编写一个动态参数的打印日志函数:
实例:
#include<stdio.h>
#include<string>
void LogError(const char *format, ...)
{
FILE *gErrorFile = NULL;
cahr buffer[256]='D:\test\errorlog.log'; // 日志文件路径
gErrorFile = fopen(buffer, "a");
if (gErrorFile == NULL)
return;
va_list argp; // 参数列表
va_start(argp, format); // 开始参数列表格式化
char logLine[1000];
vsnprintf(logLine, _countof(logLine) - 1, format, argp);
logLine[_countof(logLine) - 1] = '\0';
time_t timeTick = time(NULL);
char timeStamp[24];
strftime(timeStamp, _countof(timeStamp), "%Y-%m-%d %H:%M:%S", localtime(&timeTick));
fprintf(gErrorFile, "%s: %s\n", timeStamp, logLine);
fflush(gErrorFile);
va_end(argp); // 结束参数列表格式化
}
就是那么简单!!!!!!