Мне нужно конвертировать CString в массив BYTE. Не знаю почему, но все, что я нашел в интернете, не работает :(
Например, у меня есть
CString str = _T("string");
Я так пытался
1)
BYTE *pbBuffer = (BYTE*)(LPCTSTR)str;
2)
BYTE *pbBuffer = new BYTE[str.GetLength()+1];
memcpy(pbBuffer, (VOID*)(LPCTSTR)StrRegID, str.GetLength());
3)
BYTE *pbBuffer = (BYTE*)str.GetString();
И всегда pbBuffer содержит только первую букву str
DWORD dwBufferLen = strlen((char *)pbBuffer)+1;
составляет 2
Но если я использую константную строку:
BYTE *pbBuffer = (BYTE*)"string";
pbBuffer содержит целую строку
Где моя ошибка?