com-从VARIANT里提取字符串数组

问题描述

从VARIANT里提取字符串数组
        VARIANT pvarRet;
        if(S_OK == pIHTMLWindow->execScript(CComBSTR(js_str), CComBSTR("JavaScript"), &pvarRet))
        {
            if (pvarRet.vt == VT_ARRAY | VT_BSTR )
            {
                    //此处如何提取字符串数组
            }
        }
        pIHTMLWindow->Release();

        昨天百度了半天 精疲力竭 实在解决不了了 求各位大师帮忙

解决方案

 // parameter validation and error checking omitted for clarity
template<typename T>
void FromVariant(VARIANT Var, std::vector<T>& Vec)
{
    CComSafeArray<T> SafeArray;
    SafeArray.Attach(Var.parray);
    ULONG Count = SafeArray.GetCount();
    Vec.resize(Count);
    for(ULONG Index = 0; Index < Count; Index++)
    {
        Vec[Index] = SafeArray[Index];
    }
}
....
std::vector<double> Vec;
VARIANT Var = ...;
FromVariant(Var, Vec);
...

解决方案二:

google 搜素下,VC++ com VARIANT array string
第一个结果
http://stackoverflow.com/questions/2359065/a-simple-way-to-convert-to-from-variant-types-in-c
就是。

谁让你用垃圾山寨百度的。

时间: 2024-08-30 17:25:17

com-从VARIANT里提取字符串数组的相关文章

关于C++用SAFEARRAY传递字符串数组的问题

问题描述 关于C++用SAFEARRAY传递字符串数组的问题 碰到个问题,需要用VARIANT变量传递字符串数组,想到使用SAFEARRAY,就写了如下代码,结果运行出现堆内存错误,请问该如何改正,多谢赐教 int _tmain(int argc, _TCHAR* argv[]) { SAFEARRAY psa; SAFEARRAYBOUND rgsabound[1]; rgsabound[0].cElements=2; rgsabound[0].lLbound=0; psa = SafeArr

判断一个字符串是否包含在一个字符串数组里,

问题描述 我是想判断一个字符串是否包含在一个字符串数组里,如果是返回true,否则返回false,但我这个怎么运行都是falsepackageU_14_java;publicclassTest{publicstaticvoidmain(Stringargs[]){Testt=newTest();Strings[]={"王","五","六"};Stringa="六";booleanb=false;t.BiJiao(s,a,b);

利用Collections工具类查找一个字符串在字符串数组里的位置即其角标

package cn.com; import java.util.Arrays; import java.util.Collections; import java.util.List; //要求:查找一个字符串在字符串数组里的位置即其角标 //Collections.sort()方法和Collections.binarySearch()方法; //注意Collections.binarySearch()是按照二分法查找,所以要先使用Collections.sort()使集合按照自然顺序排序 p

提取字符串里的单词

例如:有以下字符串 字符串是:char str*="ok112009this9964541look"  提取字符串里的单词并输出.   #include<stdio.h> #include<ctype.h> #include<memory.h> int main() { char *str="ok112009this9964541look" ; char *fun=str; int state; for(;(*fun)!='\0'

php提取字符串里所有URL的例子

这篇文章主要介绍了php提取字符串中网站url地址的方法,可通过正则匹配查找并提取出URL地址,需要的朋友可以参考下 $postInfo['answer2'] ='学习php的方法很多,通过搜索引擎可以搜索到很多资料,当然也可以进入PHP二次开发博客学习哦:http://www.111cn.net,一起交流学';    preg_match_all("/http:[\/]{2}[a-z]+[.]{1}[a-z\d\-]+[.]{1}[a-z\d]*[\/]*[A-Za-z\d]*[\/]*[A-

字符串截取-C# 提取字符串中“所有”满足格式的字符串,怎么提取?

问题描述 C# 提取字符串中"所有"满足格式的字符串,怎么提取? 小弟正在做一个读取支付宝的订单的软件,读取订单不是利用官方的API,是从网页上抓取的, 每行订单信息都抓成了字符串,但是遇到了一个问题,就是如何把字符串分解了,然后保存到数据库, 值得庆幸的是,每个需要提取出来的数据 前 和后 都有规律 我一开始想的是 Regex.Match(str, "(?<= ).*?(?= )").Value; 用这个函数截取 和 之间的内容,但是只能截取到一个, 我想的

我用的是vs2010 我要在vb里提取一个excel里面的数据装到datatable里面,怎么办?我是初学者,求大神帮忙

问题描述 我要在vb里提取一个excel里面的数据装到datatable里面,用于想数据库中添加数据,在datatable这儿要进一步筛选,所以请知道的大神帮帮忙 解决方案 解决方案二:我用c#给你举例说明一下如何操作excel工作簿.你可以请别人把以下代码翻译为vb.net的代码.这种翻译其实挺简单的.时间关系,我就不用vb.net给你写了.要操作Excel工作簿,首先你应该引用Microsoft.Office.Interop.Excel,并且在代码文件中写usingexcel=Microso

关于字符串数组 做指针输入的问题

问题描述 关于字符串数组 做指针输入的问题 #include void gb(char **buf) { *buf[0] = 'a'; //这里down掉 } int main() { char b[] = { "aaaasssddddasd" }; printf("%sn", b); gb(&b); system("pause"); return 0; } b是常量指针,不能当做左值这个我知道,这个程序里的被调函数也没有修改b的值. 为

android-jni如何传递一个字符串数组?

问题描述 jni如何传递一个字符串数组? 如何传递一个字符串数组? xx.cpp JNIEXPORT jstring JNICALL Hello_Native(JNIEnv *env, jobject obj,jstring string) { const char *str = env->GetStringUTFChars(string, 0); return env->NewStringUTF( "Hello from JNI !"); } static JNINati