我想在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并不完全如我所料。 –