
いつもお世話になっております。
いまいち、分からなくて質問しました。
int hp=60;
としたとき、
TextOut(.............,hp,lstrlen(hp));
としようと思ってたんですけど、
文字がでないので、
wsprintf((LPWSTR)nowhp,"%d",hp);
としたら、エラーがでて実行できませんでした。
TextOut関数で、60とだしたいのですが、
その後の処理で値が変わってくるので
TextOut(......................,TEXT("60")..........)
ともできず、困っています。
要は
wsprintfに値を格納して
その後の処理で
hp-=10
としても、
wsprintfでnowhpに値を格納し
TextOutで50と表示されるようにしたいのです。
うまく説明できませんが、↑のようにする方法を
教えてください。
お願いします。
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))
{
// 失敗時処理
}
のようにした方がよいでしょう。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
このQ&Aを見た人はこんなQ&Aも見ています
-
DWORDの実際の型は何でしょうか
C言語・C++・C#
-
charからLPTSTRへの変換方法
C言語・C++・C#
-
wsprintf( ポインタ , %d" , "123" );"
C言語・C++・C#
-
-
4
<unistd.h>をVisualStudioでつかえるようにする
C言語・C++・C#
-
5
wsprintfで浮動小数を扱うには?
C言語・C++・C#
-
6
CStringからchar*への型変換について教えてください。
C言語・C++・C#
-
7
wsprintfの書式制御文字列について教えてください
C言語・C++・C#
-
8
std::stringからLPCWSTR型への変換
C言語・C++・C#
-
9
GetDlgItemTextについて
C言語・C++・C#
-
10
visual studio でインデントを自動的に揃えるショートカットキー
その他(プログラミング・Web制作)
-
11
CString型の文字列連結について
C言語・C++・C#
-
12
LPSTR型の初期化について
C言語・C++・C#
-
13
LPCWSTRとchar
C言語・C++・C#
-
14
CString から LPCTSTRの型に変換
C言語・C++・C#
-
15
テキストデータをそのままバイナリへ
C言語・C++・C#
-
16
ラベル(スタティックテキスト)内での改行。
C言語・C++・C#
-
17
CStringのFindで文字列検索を行いたいのですが
C言語・C++・C#
-
18
iniファイルのキーと値を取得するにはどうすれば?
C言語・C++・C#
-
19
error C2664: 'LPCTSTR' に変換できません。
C言語・C++・C#
-
20
画面を強制的に再描画させる方法
C言語・C++・C#
関連するカテゴリからQ&Aを探す
おすすめ情報
このQ&Aを見た人がよく見るQ&A
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
matchesを否定文として使う方法...
-
BCD形式で時刻を!
-
PSQLExceptionが発生する
-
ArrayListの要素数の上限
-
ダブルクォーテーションを含む...
-
Javascriptでマシン固有の情報...
-
直し方について教えて頂きたい...
-
DateTimePickerに値を入れたい...
-
WinInet.dllを利用したHttpQuer...
-
コンボボックスの値取得について
-
Javaを使って、string型の年月...
-
結合した文字列をファイル名に...
-
javaのCSVデータ読込についてです
-
C言語のポインターに関する警告
-
IF関数でEmpty値を設定する方法。
-
ORA-01858: 数値を指定する箇所...
-
ループ処理の際、最後だけ","を...
-
System.err. printlnとSystem.o...
-
System.exit()の値を取得したい
-
動的配列が存在(要素が有る)か...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
wsprintf関数の使い方について
-
ダブルクォーテーションを含む...
-
JSPでHashMap・配列の変数の値...
-
C言語の変数(LSB)の合わせ込...
-
BCD形式で時刻を!
-
任意の変数が任意の値になった...
-
javaのCSVデータ読込についてです
-
matchesを否定文として使う方法...
-
PSQLExceptionが発生する
-
DateTimePickerに値を入れたい...
-
Evaluate()に文字列の形式の数...
-
excel vba 時間計算と条件分岐...
-
特定の文字列を複数抜き出した...
-
実行シェルからCOBOLへパラメー...
-
JSPでの計算結果表示
-
C# LinqでDateTime型の値を取得
-
VB6,論理演算子Orの使い方がわ...
-
結合した文字列をファイル名に...
-
日付や時刻の"01"を" 1"に変換...
-
Stringクラスの変数の格納アド...
おすすめ情報