我有以下代码的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 –