我希望标题足以帮助解释需要什么。在解决了这个问题后,我的大部分项目都应该完成。
当我这样做时
char e[1000] = "HELLO";
CString msg;
msg.Format(_T("%s"), e);
MessageBox(msg);
消息框只显示像“㹙癞鞮㹙癞鞮”这样的随机词,而不是我想要的“HELLO”。我该如何解决这个问题?
帮助将不胜感激。谢谢你
首先,您是否真的以这种方式使用 MessageBox API。检查MSDN 文档。现在回答你的问题,
char e[1000] = "HELLO";
CString msg;
msg.Format(_T("%S"), e); // Mind the caps "S"
MessageBox( NULL, msg, _T("Hi"), NULL );
我想,你甚至不需要Format
这里的数据。您可以使用::
TCHAR e[1000] = _T("HELLO") ;
MessageBox( NULL, e, _T("Hi"), NULL ) ;
这样,如果_UNICODE is defined
,两者都TCHAR and MessageBox
将被选为WCHAR and MessageBoxW
和 if not defined
as char and MessageBoxA
。