宽字符
void TRACE(const wchar_t *format, ...)
{
va_list args;
TCHAR buf[512] = { 0 };
int nBuf;
va_start(args, format);
nBuf = _vsnwprintf_s(buf, ARRAYSIZE(buf), ARRAYSIZE(buf)-1, format, args);
va_end(args);
OutputDebugString(buf);
}
ANSI
void TRACE_(const char *format, ...)
{
va_list args;
char buf[512] = { 0 };
int nBuf;
va_start(args, format);
nBuf = _vsnprintf_s(buf, ARRAYSIZE(buf), ARRAYSIZE(buf) - 1, format, args);
va_end(args);
OutputDebugStringA(buf);
}
本文介绍了一种使用宽字符和ANSI编码进行调试输出的方法。通过定义TRACE和TRACE_函数,分别处理宽字符和ANSI编码的字符串格式化,并利用_vsnwprintf_s和_vsnprintf_s函数进行安全的字符串格式化处理。最后调用OutputDebugString和OutputDebugStringA函数将调试信息输出到Windows调试环境中。
4838

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



