怎样将_variant_转化为vc中的数组  各位高手帮下忙了!!!

解决方案 »

  1.   

    首先LZ需要判断它的具体的类型,然后再转化,要不然会出错的。
    .vt就是用来判断类型
      

  2.   

    判断完类型后,
    _variant_t var;  //假设这个变量中保存了数组元素
    SAFEARRAY* psa = var.parray;
    long count = psa->rgsabound->cElements;  //判断元素个数
    定义buf数组;
    for (long i=0; i<count; i++)
    {
        SafeArrayGetElement(psa,&i,&buf[i]);   //buf为你定义的数组
    }
      

  3.   

    那要是转换为int的二维数组是不上一就加两个循环呢!能写下不 
      

  4.   

    还有如何在将int二维数组转化会variant类型,因为我要将它写回数据库,好象用int不能转换,可以转换为long型也可以的,请高手指教下,呵呵!