我正在使用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, BUFFER_SIZE, locChinese );
_printf_l("Multibyte character: %s\n\n", locChinese, pMBBuffer );
我将一个宽字符串转换为多字节字符串,然后使用中文语言环境将其打印出来,但打印出来的字符串不正确,这很奇怪:─────────────────────────────
如何打印出正确的多字节字符串?
答案 0 :(得分:1)
这不是绝对的答案,因为不同平台上的unicode可能很棘手。但是如果你的Windows 7是英文版,那么你可能想尝试使用Powershell ISE查看输出。我在用Ruby编写程序时用它打印出unicode。