我希望标题足以帮助解释所需内容。解决了这个问题后,我的项目应该完成。
当我这样做时
char e[1000] = "HELLO";
CString msg;
msg.Format(_T("%s"), e);
MessageBox(msg);
消息框只是向我显示“㹙癞鞮㹙鞮鞮”等随机词,而不是我想要的“HELLO”。我该如何解决这个问题?
帮助将不胜感激。 谢谢
答案 0 :(得分:3)
首先,您是否真的使用MessageBox API?检查MSDN Documentation。 现在回答你的问题,
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
而not defined
被选为char and MessageBoxA
。