FAQ:WinAPI VCPP:перевод между BSTR и CString — различия между версиями
Материал из Весельчак У
RXL (обсуждение | вклад) (Новая: ===Как корректно перевести тип BSTR в CString и наоборот?=== # Для конвертирования BSTR в CString нужно просто присв...) |
RXL (обсуждение | вклад) |
||
Строка 1: | Строка 1: | ||
===Как корректно перевести тип BSTR в CString и наоборот?=== | ===Как корректно перевести тип BSTR в CString и наоборот?=== | ||
− | + | * Для конвертирования BSTR в CString нужно просто присвоить переменной типа CString переменную типа BSTR. Оператор "=" класса CString сам выполнит всю работу. | |
− | + | * Для конвертирования BSTR в CString нужно выполнить код: | |
<syntaxhighlight lang="cpp"> | <syntaxhighlight lang="cpp"> |
Текущая версия на 15:24, 3 октября 2009
Как корректно перевести тип 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);