我想将&var值转换为char数组。
我怎样才能做到这一点?
我正在使用C++ Win32 API。


在另一个选项卡中打开图像,您将获得清晰的 View 。

提前致谢。

最佳答案

最简单的方法是使用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;
}

08-28 02:06