想要在消息框的第二个参数中显示一个字符串和一个变量

Want to show a string and a variable in 2nd argument of a messagebox

我一直在应用程序中创建注册 window,我想在 MessageBoxA 中显示 "You are registered with username - "。 我已将值存储在 char User[25] 中;和 char Pass[25];

char *u = &User[0];
char *p = &Pass[0];
int gwtu = GetWindowText(tFieldU,u,25);
int gwtp = GetWindowText(tFieldP,p,25);
MessageBoxA(wh,"What should be here?","Registration Compelete!",MB_OK);                    

我想保持简单和简短。怎么办?

您需要将字符串连接在一起,然后将结果传递给MessageBoxA。在标准库内外,有无数种方法可以做到这一点。一种简单的方法是 strcat(来自 header <cstring>)。确保目标数组足够大以容纳两个字符串以及空终止符。

char message[200] = "You are registered with username - ";
std::strcat(message, User);

MessageBoxA(wh, message, "Registration Compelete!", MB_OK);

另一种选择是使用 ostringstream(来自 <sstream>)构建一个字符串,然后对该字符串调用 c_str(),然后您可以将其传递给 MessageBoxA .

std::ostringstream oss;
oss << "You are registered with username - " << User;
std::string message = oss.str();
MessageBoxA(wh, message.c_str(), "Registration Compelete!", MB_OK);