VS使用TRACE _tprintf _tprintf_s wprintf wprintf_s 显示中文调试信息

在VS开发中,使用TRACE、 _tprintf 、_tprintf_s 、wprintf 、wprintf_s 输出中文调试信息时,

经常出现乱码或“_CrtDbgReport: String too long or IO Error“错误提示。

 

解决办法:

包含头文件locale.h;并在程序开始调用setlocale(LC_ALL, "chs")。

指定当前程序的编码为简体中文,这样便能正常打印出中文字符串了。

 如:

#include <locale.h>

setlocale(LC_ALL, "chs");

另外:

TRACE0、TRACE1、TRACE2、TRACE3在定义时就已考虑了unicode,所以不需要加_T;

也可以采用OutputDebugString()来代替TRACE,它自动采用UNICODE和非UNICODE。

你可能感兴趣的:(VS使用TRACE _tprintf _tprintf_s wprintf wprintf_s 显示中文调试信息)