お世話になります。
一応、期待した結果は取れているのですが、
書き方が本当にコレで良いのか疑問なんです。
(回りにロジックを見てくれる人がいない・・・)
DWORD dwResult;
char aaa[256];
・
・
・
sprintf(aaa,%d,dwResult);
messagebox(NULL,aaa,NULL,MB_OK);
疑問点ですが、MessageBoxの[aaa]ですが、毎回
文字列に変換してからパラメータにしなければいけないのでしょうか?
そのときは、sprintfで上記のようにやればOKなのでしょうか?
##入門書を一冊読んだんですが、やっぱり、生のロジックを
##一杯みないといけないですね・・・
MessageBox の第2引数は NULL で終わる文字列へのポインタを指定しないと
いけませんので、直接数値を指定することはできません。
1行にしたいのであれば、_itoa を使うという手もあります。
MessageBox(NULL, _itoa(dwResult, aaa, 10), NULL, MB_OK);
早速のご返答有難う御座います。
>1行にしたいのであれば、_itoa を使うという手もあります。
>MessageBox(NULL, _itoa(dwResult, aaa, 10), NULL, MB_OK);
とても参考になりました。
でも、やっぱり、aaa[]みたいな文字配列を作り、
それを出力するように作らないとだめなんですね。
>MessageBox の第2引数は NULL で終わる文字列へのポインタを指定しないと
>いけませんので、直接数値を指定することはできません。
え・・・一応、動いているんですが、
これって、たまたま動いているんですかね??
一応、直接数値を入れない為に
sprintf(aaa,%d,dwResult);
で、文字列にしたのですが、これだとダメでしょうか?
>これだとダメでしょうか?
いえ、OKです。
>疑問点ですが、MessageBoxの[aaa]ですが、毎回
>文字列に変換してからパラメータにしなければいけないのでしょうか?
>そのときは、sprintfで上記のようにやればOKなのでしょうか?
この質問が二つのことを片方は肯定で、片方は否定で聞いてるから混乱する。
>疑問点ですが、MessageBoxの[aaa]ですが、毎回
>文字列に変換してからパラメータにしなければいけないのでしょうか?
変換しなければいけません。
>そのときは、sprintfで上記のようにやればOKなのでしょうか?
sprintfでOKです。
sprintf以外でもいいですけど。(itoaとか)
数値型をメッセージボックスで出力するのに
わざわざ、文字列型の変数を作ってとかって、
「皆こんな事すんのかな・・・」なんて思ってました。
結果的には、作らなければならないという事ですが、
お陰で、スッキリしました。
ゆうさん、PAIさん、有難うございます。
##質問で紛らわしい文章書いてしまい
##申し訳ありません。以後、気をつけます。