#include <iostream>
#include <Windows.h>
#include <tchar.h>
using namespace std;
void DbgPrint(const TCHAR *format, ...)//宽字节
{
TCHAR buf[4096];
va_list args;
va_start(args, format);
_vstprintf(buf,format, args);
va_end(args);
OutputDebugString(buf);
}
void DbgPrint(const char *format, ...)//窄字节
{
char buf[4096];
va_list args;
va_start(args, format);
_vsnprintf(buf, sizeof(buf) - 1, format, args);
va_end(args);
OutputDebugStringA(buf);
}
int main()
{
DbgPrint("nihao %s %d","lili",90);
DbgPrint(_T("nihao %s %d"),_T("lili"),90);
return 0;
}
运行结果:
这样可以在C++中使用类似与printf一样的写法打印日志,关闭日志的时候,仅仅设置一下宏定义就可以了。