您的位置:首页 > 其它

一个简单的日志方法

2016-07-03 11:55 302 查看
FILE *g_fileLog = NULL;
void LogInit()
{
CString sLogPath = GetModulePath();
sLogPath += L"\\log.txt";

// 事实证明,这里一写要有t,ccs=UTF-8才能正确写出wchar_t
g_fileLog = _tfopen(sLogPath, L"at,ccs=UTF-8");
}

bool WriteLog(LPCTSTR format, ...)
{
time_t tm = time(0);

TCHAR outBuf[1024] = {0};
int res = _tcsftime(outBuf, 128, _T("[20%y年%m月%d日 %H:%M:%S] "), localtime(&tm));

TCHAR lpszInfoBuf[1024] = {0};
va_list args;
va_start (args, format);
_vstprintf_s(lpszInfoBuf, 1024, format, args);
va_end (args);

_tcscat(outBuf, lpszInfoBuf);
_tcscat(outBuf, _T("\r\n"));
fwrite(outBuf, sizeof(TCHAR), _tcslen(outBuf), g_fileLog);

fflush(g_fileLog);
return true;
}

void LogClose()
{
fclose(g_fileLog);
}


这是的GetModulePath 是一个自己写的函数,就是获取当前程序的目录。

使用的时候先调用LogInit(); 程序关闭的时候调用LogClose();

使用示例:

WriteLog(L"打开了%d文件", 10);
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: