TCHAR* strArray[2] = {_T("Hello"),_T("World")};
int arraySize = sizeof(strArray) / sizeof(strArray[0]);
//创建
VARIANT vtArray;
VariantInit(&vtArray);
vtArray.vt = VT_ARRAY | VT_VARIANT;
vtArray.parray = SafeArrayCreateVector(VT_VARIANT, 0, arraySize);
for (long i = 0; i < arraySize; i++)
{
_variant_t tmpValue = _bstr_t(strArray[i]);
SafeArrayPutElement(vtArray.parray, &i, &tmpValue);
}
// 使用
SAFEARRAY* pArray1 = vtArray.parray;
long plLowBound, plUpperBound;
SafeArrayGetLBound(pArray1, 1, &plLowBound);
SafeArrayGetUBound(pArray1, 1, &plUpperBound);
int wordCount = plUpperBound - plLowBound + 1;
_variant_t tempValue2;
std::vector<CString> policyLists;
for (long i = plLowBound; i <= plUpperBound; i++)
{
::SafeArrayGetElement(pArray1, &i, &tempValue2);
}
// 销毁
SafeArrayDestroy(vtArray.parray);
VARIANT 传递字符串数组
于 2022-04-12 10:23:35 首次发布