第一部分
- 问题代码:
#include <windows.h>
#include<strsafe.h>
#include<locale.h>
int main()
{
wchar_t sz[200] = L"";
// 设置 为 当前 操作系统 的 默认 地域设置
//setlocale(LC_CTYPE, "");
StringCchPrintfW(sz, _countof(sz), L"ANSI:%S\nUnicode:%s", "I am 中国人 I am very 骄傲", L"我是 Chinese\n");
MessageBoxW(0, sz, 0, 0);
return 0;
}
-
结果如图所示:
第二部分
- 解决代码
#include <windows.h>
#include<strsafe.h>
#include<locale.h>
int main()
{
wchar_t sz[200] = L"";
// 设置 为 当前 操作系统 的 默认 地域设置
setlocale(LC_CTYPE, "");
StringCchPrintfW(sz, _countof(sz), L"ANSI:%S\nUnicode:%s", "I am 中国人 I am very 骄傲", L"我是 Chinese\n");
MessageBoxW(0, sz, 0, 0);
return 0;
}
-
结果如图所示
第三部分
- 如何解决的?
添加代码:
// 设置 为 当前 操作系统 的 默认 地域设置
setlocale(LC_CTYPE, "");