bstr t — C ++, как преобразовать массив char [] в _bstr_t?

Я хочу преобразовать char arrayнапример, char myArray[size] к _bstr_t строка. Я попробовал это, но это не работает:

_bstr_t test;

for (int i = 0; i < myArrayLength; i++) {
test = test + (_bstr_t) myArray[i];
}

-3

Решение

_bstr_t класс обеспечивает преобразование c’tor (_bstr_t :: _ bstr_t), который занимает const char*, Он выполняет преобразование символов из кодировки кодовой страницы ANSI (используя текущую локаль потока) в UTF-16 и создает _bstr_t объект:

 _bstr_t bstr = _bstr_t(myArray);

Обратите внимание, что есть также двоичный _bstr_t :: Оператор + (), это занимает const char* как его левая сторона. Также допускается следующее:

_bstr_t test;
...
_bstr_t bstr = myArray + test;

В случае, если ваш вклад char В массиве используется кодировка, отличная от ASCII или ANSI с использованием текущей кодовой страницы, вам придется вручную преобразовать кодировку источника в UTF-16, используя MultiByteToWideChar, и построить _bstr_t от wchar_t массив.

0

Другие решения

Других решений пока нет …