5

我希望标题足以帮助解释需要什么。在解决了这个问题后,我的大部分项目都应该完成。

当我这样做时

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

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

帮助将不胜感激。谢谢你

4

1 回答 1

4

首先,您是否真的以这种方式使用 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 definedas char and MessageBoxA

于 2013-04-01T06:25:21.403 回答