• ベストアンサー
※ ChatGPTを利用し、要約された質問です(原文:wsprintf関数の使い方について)

wsprintf関数の使い方について

このQ&Aのポイント
  • wsprintf関数を使用して数値を表示する方法について質問があります。
  • 現在の数値を変数に格納して、その後の処理で値を変化させた際に正しく表示する方法を知りたいです。
  • 具体的には、変数hpの値をwsprintf関数で文字列に変換し、TextOut関数で表示したいです。

質問者が選んだベストアンサー

  • ベストアンサー
回答No.2

なんか怪しげなキャストが見えますが……。 wsprintfは文字列を扱うWin32 APIなので,wsprintfAとwsprintfWがあります。 int WINAPI wsprintfA (char *, const char *, ...); int WINAPI wsprintfW (wchar_t *, const wchar_t *, ...); なので,wsprintfとして使う場合は,全てTCHAR系で統一する必要があります。 TCHAR nowhp[11]; wsprintf(nowhp, TEXT("%d"), hp); ただし, MSDN: wsprintf function (Windows) http://msdn.microsoft.com/es-ar/library/ms647550 には,wsprintfは使うな,と書いてありますので, TCHAR nowhp[11]; if (FAILED(StringCbPrintf(nowhp, sizeof(nowhp) / sizeof(nowhp[0]), TEXT("%d"), hp)) { // 失敗時処理 } のようにした方がよいでしょう。

crashbeen
質問者

お礼

回答ありがとうございます。   また、詳しいご説明、使用方法を書いていただいてありがとうございます。   これを参考に、やってみます。

その他の回答 (1)

  • Tacosan
  • ベストアンサー率23% (3656/15482)
回答No.1

wsprintf のプロトタイプはどうなっている?

crashbeen
質問者

お礼

プロトタイプ?   すいません、完璧な初心者なので、イマイチわかりません。   ↑の回答がわかりやすかったので、回答を締め切りました。   回答、ありがとうございました。