0
我正在嘗試生成一個帶有unicode字符的消息框,但輸出並不是我所期望的。爲什麼unicode字符串顯示垃圾?
我在做什麼錯?
#define UNICODE
#include <windows.h>
#include <stdio.h>
#include <assert.h>
int WINAPI wWinMain(HINSTANCE , HINSTANCE , PWSTR , int)
{
MessageBox(NULL,L"cyrillic АЖ\nchinese ",L"top Ж bott ",MB_OK | MB_ICONWARNING);
return 0;
}
/*
compiled using
cl /c /Wall test4.cpp
link -out:test4.exe test4.obj user32.lib
*/
輸出在Windows上運行10
編譯器是Visual Studio的2017年社區版
是你的源文件被保存爲unicode? – RbMm
將您的文件保存爲UTF-8,並告訴編譯器使用UTF-8作爲源編碼和字符串文字,例如使用cl.exe的'/ utf-8'命令行選項。 – eryksun
謝謝。/utf-8開關解決了這個問題。 – user308879