HOME FORUMS MEMBERS RECENT POSTS LOG IN  
× Авторизация
Имя пользователя:
Пароль:
Нет аккаунта? Регистрация
Баннер 1   Баннер 2
НОВЫЕ ТОРГОВАЯ НОВОСТИ ЧАТ
loading...
Скрыть
Вернуться   ANTICHAT > ПРОГРАММИРОВАНИЕ > С/С++, C#, Rust, Swift, Go, Java, Perl, Ruby
   
Ответ
 
Опции темы Поиск в этой теме Опции просмотра

Конвертнуть BSTR без atl
  #1  
Старый 28.06.2009, 20:45
_nic
Постоянный
Регистрация: 05.05.2006
Сообщений: 743
С нами: 10535289

Репутация: 107


По умолчанию Конвертнуть BSTR без atl

Как это сделать(экспресс версия студии).Всякие манипуляции типа _com_util::ConvertBSTRToString(myBSTR);или (_bstr_t) bstrString приводят к вылетам
 
Ответить с цитированием

  #2  
Старый 29.06.2009, 01:36
Gar|k
Постоянный
Регистрация: 20.03.2009
Сообщений: 564
С нами: 9023100

Репутация: 395


По умолчанию

Цитата:
В С++ строка это массив символов который заканчивается нулем. К сожалению это не везде так. Например, в PASCAL по другому. Но COM объекты должны быть универсальные и получать и передавать сроки из любых сред разработки. Именно по этому COM реализует свой тип срок который называется базовым - BSTR.
typedef OLECHAR * BSTR;

Эта строка содержит символы UNICODE с префиксом из четырех байт в котором содержится длина.


BSTR str;
TCHAR *uSTR;

// хм если строка содержит в начале 4 байта то
uSTR=&str[4];

если в конце можно как нить так....
TCHAR uSTR[10];

memcpy(&uSTR[0],&bSTR[0],sizeof(bSTR)-4);

Последний раз редактировалось Gar|k; 29.06.2009 в 01:38..
 
Ответить с цитированием
Ответ



Предыдущая тема Следующая тема
Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Спать без подушки - вредно или полезно ? PHOEN_i_X Болталка 32 26.09.2009 14:23
Как можно купить без рецепта?(не дурь) _nic Болталка 17 18.05.2009 19:14
Дешевый Хостинг SimBa Социальные сети 15 03.05.2009 14:54
Создан новый аудиоформат без потери качества jerrri Мировые новости. Обсуждения. 7 24.03.2009 09:57



Здесь присутствуют: 1 (пользователей: 0 , гостей: 1)
 


Быстрый переход




ANTICHAT ™ © 2001- Antichat Kft.