C++ “如何打印符号”↑&引用;使用AfxMessageBox?

C++ “如何打印符号”↑&引用;使用AfxMessageBox?,c++,visual-c++,visual-studio-2013,mfc,C++,Visual C++,Visual Studio 2013,Mfc,如何打印此符号“↑"使用AfxMessageBox() 我尝试这样编写代码: AfxMessageBox("↑"); 编译后,我得到了一个奇怪的符号: 是否AfxMessageBox()不支持此符号?您的源文件可能保存为UTF-8。要使用MBCS字符串文字,您的源文件需要保存在操作系统用户区域设置为的同一字符集中。不幸的是,我认为没有多少字符集支持此特定字符。否则,您必须切换到Unicode 如果无法将整个应用程序切换到Unicode,则至少可以使用MessageBoxW

如何打印此符号
“↑"使用
AfxMessageBox()

我尝试这样编写代码:

AfxMessageBox("↑");
编译后,我得到了一个奇怪的符号:


是否
AfxMessageBox()
不支持此符号?

您的源文件可能保存为UTF-8。要使用MBCS字符串文字,您的源文件需要保存在操作系统用户区域设置为的同一字符集中。不幸的是,我认为没有多少字符集支持此特定字符。否则,您必须切换到Unicode

如果无法将整个应用程序切换到Unicode,则至少可以使用
MessageBoxW()
,例如:

::MessageBoxW(NULL, L"↑", L"title", MB_OK);


您是以Unicode还是MBCS进行编译?我使用的是多字节字符set@Jess那不行,你需要Unicode,我的任务是只使用MBCS,我不能使用Unicode,在前面放一个L“↑“。在Configuration Properties/General中,它真的是说字符集MBCS吗?我强烈建议不要保存文本
字符到源代码中。在代码页、版本控制系统和不同IDE中的其他用户之间,该字符将被损坏。相反,将
0x2191
直接内联到以null结尾的
WCHAR
WCHAR\u t
数组中。如果我使用MessageBoxW()我也有同样的奇怪character@selbie不需要WChar数组,你可以简单地将字符作为<代码> L“\x2191”< /C>代替。我已经更新了我的例子。@ ReMyLeBeAU使用L“\x2191”工作。谢谢。我建议你使用<代码> NulLPTR < /C++ >,因为这是用C++标记的。
::MessageBoxW(NULL, L"\x2191", L"title", MB_OK);