我需要將CString轉換爲BYTE數組。我不知道爲什麼,但我在網上發現一切都沒有工作:( 例如,我有無法將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包含海峽的只是第一個字母
DWORD dwBufferLen = strlen((char *)pbBuffer)+1;
是2
但是,如果使用常量字符串:
BYTE *pbBuffer = (BYTE*)"string";
pbBuffer包含整個字符串
我的錯誤在哪裏?