Показать сообщение отдельно

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

Репутация: 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..
 
Ответить с цитированием