您的位置:首页 > 其它

TRACE 在 Unicode下会出现String too long or IO Error打印不出字符串.

2010-05-26 14:43 441 查看
因为里面有中文。

处理方式:

将区域设置成中文
代码如下
char* old_locale = _strdup( setlocale(LC_CTYPE,NULL) );
setlocale( LC_CTYPE, "chs" );
TRACE(_T("第一个第二个"));
setlocale( LC_CTYPE, old_locale);
free(old_locale);

setlocale

setlocale

#pragma setlocale( "locale-string" )

Defines the locale (country and language) to be used when translating wide-character constants and string literals. Since the algorithm for converting multibyte characters to wide characters may vary by locale or the compilation may take place in a different locale from where an executable file will be run, this pragma provides a way to specify the target locale at compile time. This guarantees that the wide-character strings will be stored in the correct format. The default locale-string is "C". The "C" locale maps each character in the string to its value as a wchar_t (unsigned short).
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: