1. ホーム
  2. c++

[解決済み] メッセージボックスで変数を表示する c++

2022-02-07 04:34:11

質問

MessageBox c++で変数を表示する方法は?

string name = "stackoverflow";

MessageBox(hWnd, "name is: <string name here?>", "Msg title", MB_OK | MB_ICONQUESTION);

次のように表示したい(その1)。

"name is: stackoverflow"


と、これは?

int id = '3';

MessageBox(hWnd, "id is: <int id here?>", "Msg title", MB_OK | MB_ICONQUESTION);

で、次のように表示したい(その2)。

id is: 3

C++でこれを行うにはどうすればよいのでしょうか?

どのように解決するのですか?

文字列を格納するための一時的なバッファを作成し、そのバッファに sprintf のように、変数の種類に応じて書式を変更します。最初の例では、次のようになります。

 char buff[100];
 string name = "stackoverflow";
 sprintf_s(buff, "name is:%s", name.c_str());
 cout << buff;

次に、buffを文字列の引数としてメッセージボックスを呼び出します。

MessageBox(hWnd, buff, "Msg title", MB_OK | MB_ICONQUESTION);

をint型に変更します。

int d = 3;
sprintf_s(buff, "name is:%d",d);