Unicode 为什么打印可以';t打印中文区域设置的多字节字符串
我正在使用Windows 7、VS2008测试以下代码:Unicode 为什么打印可以';t打印中文区域设置的多字节字符串,unicode,Unicode,我正在使用Windows 7、VS2008测试以下代码: wchar_t *pWCBuffer = L"你好,世界"; // some Chinese character char *pMBBuffer = (char *)malloc( BUFFER_SIZE ); _locale_t locChinese = _create_locale(LC_CTYPE, "chs"); _wcstombs_l(pMBBuffer, pWCBuffer, BUFF
wchar_t *pWCBuffer = L"你好,世界"; // some Chinese character
char *pMBBuffer = (char *)malloc( BUFFER_SIZE );
_locale_t locChinese = _create_locale(LC_CTYPE, "chs");
_wcstombs_l(pMBBuffer, pWCBuffer, BUFFER_SIZE, locChinese );
_printf_l("Multibyte character: %s\n\n", locChinese, pMBBuffer );
我将宽字符串转换为多字节字符串,然后使用中文区域设置将其打印出来,但打印出来的字符串不正确,有点奇怪,如:─π║├ú¼╩└╜τ
我怎样才能打印出正确的多字节字符串?这不是一个绝对的答案,因为不同平台上的unicode可能很棘手。但是,如果您的Windows 7是英文版本,则您可能希望尝试Powershell ISE以查看输出。在用Ruby编写程序时,我也用它来打印unicode。这不是一个绝对的答案,因为不同平台上的unicode可能很棘手。但是,如果您的Windows 7是英文版本,则您可能希望尝试Powershell ISE以查看输出。在用Ruby编写程序时,我也使用它来打印unicode