Материал из Весельчак У
Как корректно перевести тип BSTR в CString и наоборот?
- Для конвертирования BSTR в CString нужно просто присвоить переменной типа CString переменную типа BSTR. Оператор "=" класса CString сам выполнит всю работу.
- Для конвертирования BSTR в CString нужно выполнить код:
// указатель на будущий буфер с BSTR.
// По сути, BSTR определён как typedef WCHAR* BSTR;
// то есть - указатель на 16-битный символ юникод.
BSTR bstrHE = 0;
// строка для конвертации
CString Str = "мой текст";
// Выделяем память и загружаем адрес блока в bstrHE
bstrHE = Str.AllocSysString();
// ...
// тут работаем с bstrHE[]
// ...
// освобождаем память
SysFreeString(bstrHE);