• ベストアンサー

charからLPTSTRへの変換方法

リストコントロールにchar型の変数の値を数値として表示させたいのですが、charからLPTSTRへの洗練された変換方法がよくわからないです。 char tempChar; CString tempString; tempString.Format("%s", tempChar); LPTSTR lpsz = new TCHAR[tempString.GetLength()+1]; _tcscpy(lpsz, tempString); こんなプログラムを考えてみたのですが、汚いような気がします。もっと簡単で洗練された変換方法はないのでしょうか?

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

  • ベストアンサー
  • gimmick
  • ベストアンサー率49% (134/270)
回答No.1

wsprintfを使ってはどうでしょうか? char tmpChar = 100; //表示する数値 TCHAR buf[5]; wsprintf(buf, "%d", tempChar);

moririn2
質問者

お礼

ありがとうございます。この方法で解決しました。

その他の回答 (1)

  • nyan5504
  • ベストアンサー率42% (6/14)
回答No.2

TCHAR は環境によって char/wchar_t を切り替える型であり、wchar_t そのものではないことをまずお断りしておきます。 変換には A2T マクロを使うと良いでしょう。 char* sz = "xxx"; LPTSTR wz = A2T(sz); バッファの解放とかも必要ありません。