Хай, я хочу преобразовать &var
значения в массив символов.
Как я могу достичь этого?
Я использую C ++ Win32 API.
Откройте изображение в другой вкладке, вы получите четкое представление.
Заранее спасибо.
Самый простой способ — использовать 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;
}
Других решений пока нет …