在MessageBox c ++中显示变量

use*_*413 7 c c++ windows messagebox

如何在MessageBox c ++中显示变量?

string name = "stackoverflow";

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

我想以下面的方式展示它(#1):

"name is: stackoverflow"
Run Code Online (Sandbox Code Playgroud)

还有这个?

int id = '3';

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

我想以下面的方式展示它(#2):

id is: 3
Run Code Online (Sandbox Code Playgroud)

如何用c ++做到这一点?

Gib*_*bby 8

创建一个临时缓冲区以存储您的字符串并使用sprintf,根据您的变量类型更改格式.对于您的第一个示例,以下应该有效:

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

然后使用buff作为字符串参数调用消息框

MessageBox(hWnd, buff, "Msg title", MB_OK | MB_ICONQUESTION);
Run Code Online (Sandbox Code Playgroud)

对于int更改为:

int d = 3;
sprintf_s(buff, "name is:%d",d);
Run Code Online (Sandbox Code Playgroud)