如下代码:
int a = 16;
wchar_t *buffer = {0};
wsprintf(buffer,L"%d", a);
MessageBox(NULL, buffer, buffer, MB_OK);
我想将int转换为LPCWSTR以便放置MessageBox。 我真的是新手使用wsprintf。任何人都可以帮我解释清楚使用这个功能??? (请,我也读过MSDN,但仍然不清楚)
我的意思是,我想在MessageBox中打印“16”
答案 0 :(得分:6)
您将buffer
初始化为nullptr
。只需创建一个wchar_t
的数组,为你分配足够的空间,你就可以摆脱困境:
int a = 16;
wchar_t buffer[256];
wsprintfW(buffer, L"%d", a);
MessageBoxW(nullptr, buffer, buffer, MB_OK);