我是这样做的:
static wchar_t* Convert1(tDWORD data)
{
wchar_t result[10];
swprintf(result, sizeof(result) / sizeof(*result), L"%d", data);
wprintf(L"[%ls]\n", result);
return result;
}
它没有用,我猜是因为返回后堆栈内存已被清除(有人可以向我解释为什么吗?)。然后我尝试这样:
static wchar_t* Convert2(tDWORD data)
{
wchar_t* result = (wchar_t*)malloc(sizeof(wchar_t) * 10);
swprintf(result, sizeof(result) / sizeof(*result), L"%d", data);
wprintf(L"[%ls]\n", result);
return result;
}
它有效,但我只得到任何数字的第一个数字,而不是整数。如何以正确的方式做到这一点?