在Unicode环境下让Trace打印出中文字体出来
在Unicode环境下让Trace打印出中文字体出来?
实现条件,重新配置地域化信息为中文,再调用Trace,再恢复原来地域化信息即可
函数:
setlocale
原型: char * setlocale ( int category, const char * locale );
头文件:#include <locale.h>
返回值: 字符串
函数种类: 操作系统与环境
内容说明:
本函数用来配置地域的信息,设置当前程序使用的本地化信息
category参数:
One can use the string pointer returned by setlocale in subsequent calls to restore that part of the program's locale information, assuming that your program does not alter the pointer or the string. Later calls to setlocale overwrite the string; you can use _strdup to save a specific locale string.
_strdup 函数:
原型:extern char *strdup(char *s);
头文件:#include <string.h>
功能:复制字符串s
说明:返回指向被复制的字符串的指针,所需空间由malloc()分配且可以由free()释放。
代码:
否则在UNICODE下,会显示"_CrtDbgReport: String too long or IO Error"而不是“中文”