MFC C ++如何在MessageBox中显示const char值?

时间:2013-04-01 06:10:03

标签: c++ mfc char cstring

我希望标题足以帮助解释所需内容。解决了这个问题后,我的项目应该完成。

当我这样做时

    char e[1000] = "HELLO";
    CString msg;
    msg.Format(_T("%s"), e);
    MessageBox(msg);

消息框只是向我显示“㹙癞鞮㹙鞮鞮”等随机词,而不是我想要的“HELLO”。我该如何解决这个问题?

帮助将不胜感激。 谢谢

1 个答案:

答案 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 MessageBoxWnot defined被选为char and MessageBoxA