日志打印输出是程序员的必须课,不仅是为了方便自己,也是为了更好的维护代码,那么我们该如何打印日志呢?
void PrintWindowMessage(CString sMess, …)
{
if(!m_bMess)
return ;
CString str;
va_list ap;
va_start(ap, sMess);
str.FormatV(sMess, ap);
va_end(ap);
printf((char*)(LPCTSTR)str);
//主界面显示调用 START
m_boxMessage.AddString(str);
int nCount = m_boxMessage.GetCount();
if(nCount>2000)
m_boxMessage.ResetContent()
//主界面显示调用 END
}
我们可以根据需求封装自己想要的输出风格,但是所有的 底层代码都离不开printf函数.
void PrintLog(CString strNmae1, CString strNmae2, int v1, int v2, int v3, int v4)
{
CString strLog;
strLog.Format(_T(“strNmae1=%d–strNmae2=%d,%d–%d”), v1, v2,v3,v4);
printf((char*)(LPCTSTR)strLog);
}
如果加上宏定义,我们还可以控制是否打印日志,这对于代码的调试来说是非常方便的,等正式发布的时候,可以关闭一些日志打印.
如果只是在debug窗口输出,OutputDebugString(str)也可以帮助我们显示一些信息,但是不会写到文件里面.