FAQ:WinAPI VCPP:перевод между BSTR и CString
Материал из Весельчак У
Версия от 15:23, 3 октября 2009; RXL (обсуждение | вклад) (Новая: ===Как корректно перевести тип BSTR в CString и наоборот?=== # Для конвертирования BSTR в CString нужно просто присв...)
Как корректно перевести тип 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);