我有以下代碼的char wchar_t的結果堆損壞
char *GetBytesString(char message[])
{
wchar_t utf16_str;
char *ptr;
mbstowcs(&utf16_str, message, sizeof(message));
ptr = (char *) malloc(sizeof(utf16_str) + 2);
memcpy(ptr, &utf16_str, sizeof(utf16_str));
return ptr;
}
每當我嘗試調用它,我得到一個錯誤說,堆腐敗各地utf16_str發生。我能做些什麼來解決它?
謝謝!
它應該是wchar_t * utf16_str –