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 ) ;

このように、 if _UNICODE is defined, 両方が asと if as としてTCHAR and MessageBox選択されます。WCHAR and MessageBoxWnot definedchar and MessageBoxA

于 2013-04-01T06:25:21.403 に答える