Я хочу преобразовать char
array
например, char myArray[size]
к _bstr_t
строка. Я попробовал это, но это не работает:
_bstr_t test;
for (int i = 0; i < myArrayLength; i++) {
test = test + (_bstr_t) myArray[i];
}
_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
массив.
Других решений пока нет …