我想在visual C++ 2015中使用UNICODE,但它不起作用,所以我嘗試了simple tutorial。這裏是代碼:UNICODE不起作用 - >「????」 (visual C++ 2015)
#undef UNICODE
#define UNICODE
#undef STRICT
#define STRICT
#include <windows.h>
int main()
{
DWORD const infoboxOptions = MB_OK | MB_ICONINFORMATION | MB_SETFOREGROUND;
char const* const narrowText = "It's a 日本國 кошка, LOL!";
wchar_t const* const wideText = L"It's a 日本國 кошка, LOL!";
MessageBox(0, wideText, L"Unicode (wide) text:", infoboxOptions);
MessageBoxA(0, narrowText, "ANSI (narrow) text:", infoboxOptions);
}
它也不起作用。兩個消息框都顯示「????」而不是特殊字符。
我甚至嘗試把wWinMainCRTStartup作爲入口點,定義_UNICODE和UNICODE,但沒有任何效果。
也許是因爲該示例不適用於visual C++ 2015?
無法重現。 – user4581301
源文件編碼怎麼樣?試試'UTF-8' – PcAF
當我嘗試在Visual Studio 2013中重現這一點時,它會警告我它不能保存文件並提供將其另存爲Unicode;我選擇帶簽名的UTF-8。然後它會在創建'char'常量的行上給出警告,而不是'wchar_t'常量。 'MessageBox'適用於我,但MessageBoxA並不完全如我所料。 –