У меня большая проблема с распределением памяти в std :: wstring. Сбой программы при попытке использовать этот код:
size_t size;
mbstowcs_s(&size, NULL, 0, buffer, _TRUNCATE);
wchar_t *buffer2 = (wchar_t*)malloc(size + 1);
mbstowcs_s(&size, buffer, buffer_size, buffer, _TRUNCATE);
buffer2[size] = '\0';
std::wstring data(buffer);
сбой в последней строке и не произойдет, если я использую следующую строку:
std::wstring data(L"hello");
ошибка - ошибка выделения кучи памяти, и результатом является сбой программы. Зачем? Что не так?