Как преобразовать Variant Safe Array в Char, используя C ++ win32 API?

Хай, я хочу преобразовать &var значения в массив символов.
Как я могу достичь этого?
Я использую C ++ Win32 API.
Safe Array to Char

Откройте изображение в другой вкладке, вы получите четкое представление.

Заранее спасибо.

0

Решение

Самый простой способ — использовать ATL :: CComSafeArray. Предположим, у вас есть указатель на безопасный массив в переменной pSa,

CComSafeArray<BSTR> array;
array.Attach(pSa);

for(int i=0; i< array.GetCount(); ++i)
{
std::wcout << (const wchar_t*) array[i] << std::endl;
}

Если вы хотите использовать только win32,

SafeArrayLock(pSa);
LONG uBound = -1, lBound = 0;
SafeArrayUBound(pSa,1,uBound);
SafeArrayUBound(pSa,1,lBound);
int nCount = uBound - lBound + 1;
for(int i = 0; i<nCount; ++i)
{
std::wcout << ((BSTR*)(pSa->pvData))[i] << std::endl;
}
1

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

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

По вопросам рекламы ammmcru@yandex.ru
Adblock
detector