如何打印符号“?”使用AfxMessageBox?
如何"?"
使用打印此符号AfxMessageBox()
?
我尝试这样编码:
AfxMessageBox("?");
编译后,我得到一个奇怪的符号:
难道AfxMessageBox()
不支持这个符号?
回答
您的源文件可能保存为 UTF-8。要使用 MBCS 字符串文字,您的源文件需要保存在与您的操作系统用户区域设置相同的字符集中。不幸的是,我认为支持这个特殊字符的字符集并不多。否则,您必须切换到 Unicode。
如果您无法将整个应用程序切换到 Unicode,那么您至少可以MessageBoxW()
改用,例如:
::MessageBoxW(NULL, L"?", L"title", MB_OK);
或者
::MessageBoxW(NULL, L"x2191", L"title", MB_OK);
- I highly recommend not saving the literal `↑` char into source code. Between code pages, revision control systems, and other users in different IDEs, that char will get corrupt. Instead inline `0x2191` directly into a null terminated `WCHAR` or `wchar_t` array.