我需要将 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
但是如果我使用 const 字符串:
BYTE *pbBuffer = (BYTE*)"string";
pbBuffer包含整个字符串
我的错误在哪里?