朋友您好,如何将类型“int”转换为“LPCSTR”类型?我想将变量“int cxClient”赋予“MessageBox”函数的第二个参数“LPCSTR lpText”。以下是示例代码:
int cxClient;
cxClient = LOWORD (lParam);
MessageBox(hwnd, cxClient, "Testing", MB_OK);
但它不起作用。以下函数是“MessageBox”函数的方法签名:
MessageBox(HWND hWnd, LPCSTR lpText, LPCSTR lpCaption, UINT uType);
答案 0 :(得分:6)
使用正确的sprintf变体
将int转换为字符串TCHAR buf[100];
_stprintf(buf, _T("%d"), cxClient);
MessageBox(hwnd, buf, "Testing", MB_OK);
您需要<tchar.h>
。
我认为_stprintf
是这里的快速答案 - 但如果你想像大卫建议的那样去纯粹的C ++,那么
#ifdef _UNICODE
wostringstream oss;
#else
ostringstream oss;
#endif
oss<<cxClient;
MessageBox(0, oss.str().c_str(), "Testing", MB_OK);
你需要
#include <sstream>
using namespace std;
答案 1 :(得分:2)
using std::to_string
std::string message = std::to_string(cxClient)
http://en.cppreference.com/w/cpp/string/basic_string/to_string