关于c ++:使用wsprintf将int转换为LPCWSTR

Convert int to LPCWSTR by using wsprintf

如以下代码:

1
2
3
4
5
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"


您将buffer初始化为nullptr。 只需创建一个wchar_t数组即可为您分配足够的空间,您就可以摆脱困境了:

1
2
3
4
int a = 16;
wchar_t buffer[256];
wsprintfW(buffer, L"%d", a);
MessageBoxW(nullptr, buffer, buffer, MB_OK);