#include "stdio.h"
#include "tchar.h"
#include "stdarg.h"
void loge(const char *fmt, ...)//fmt是固定参数,...是可变参变量
{
#if 1
FILE *fLog;
va_list argp;//定义一个可变参变量指针 argp
char log[1024] = { 0 };
va_start(argp, fmt);//移动指针argp到第一个变参变量
vsnprintf(log, sizeof(log) - 1, fmt, argp);//将可变参数格式化输出到一个字符数组
va_end(argp);//结束变参变量的使用,等价于argp=NULL,避免野指针
fopen_s(&fLog, "log.txt", "a+");
if (fLog == NULL)
{
//printf("打开LOG文件失败!\n");
return;
}
fprintf(fLog, "LOGE :%s\n", log);
fflush(fLog);
fclose(fLog);
#endif
return;
}
本文介绍了一个用C语言实现的日志记录函数,该函数利用可变参数列表和vsnprintf进行格式化输出,并将日志信息追加到log.txt文件中。

3325

被折叠的 条评论
为什么被折叠?



