vc++-二维字符串SAFEARRAY的创建和读取

问题描述

二维字符串SAFEARRAY的创建和读取

各大神好,下面是我创建的字符串二维数组:
SAFEARRAYBOUND Bound[2];
Bound[0].lLbound=0;
Bound[0].cElements=2;
Bound[1].lLbound=0;
Bound[1].cElements=3;
SAFEARRAY* pArray=SafeArrayCreate(VT_BSTR,2,Bound);

 CString strInfos[3][3];
 strInfos[0][0] = "0001";
 strInfos[0][1] = "1";
 strInfos[0][2] = "1";
 strInfos[1][0] = "0002";
 strInfos[1][1] = "2";
 strInfos[1][2] = "2";

 long Demen[2];
 for(long i=0;i<2;++i)
 {
     for(long j=0;j<3;++j)
     {
          Demen[1]=i;
          Demen[0]=j;
               BSTR bstrText = strInfos[i][j].AllocSysString();
          SafeArrayPutElement(pArray,Demen,&bstrText);
             SysFreeString(bstrText);
     }
 }
   VARIANT info;
 VariantInit(&info);
 info.vt = VT_ARRAY|VT_BSTR;
 info.parray = pArray;
 return info;

 创建完成后读取
 BSTR strInfo;
 long lDimension[2];

lDimension[1]=1;//行
lDimension[0]=1;//列
SafeArrayGetElement(info.parray,lDimension,&strInfo);

怎么获取不到1行1列的信息呢? 是我创建的有问题 还是我读取的有问题?

解决方案

SafeArray创建多维数组

解决方案二:

应该是创建字符串有问题,字符串的数组都是采用char【a】【b】来创建,二维的应该是采用char【a】【b】【c】这样来创建吧,不知道这样理解对不对。

时间: 2024-10-28 20:40:05

vc++-二维字符串SAFEARRAY的创建和读取的相关文章

java 二维字符串数组初始化及赋值问题

问题描述 java 二维字符串数组初始化及赋值问题 错误是"{ expected after token ; "请问为什么会出现这样的错误,该怎么解决? 解决方案 第一句话没错,第二句话,要放到具体的方法内,比如构造函数里,不要放到类一层的地方 解决方案二: 你确定有报错?我像这样写都没有报错! 解决方案三: java字符串数组初始化和赋值

c++-C++语言定义二维字符串的问题

问题描述 C++语言定义二维字符串的问题 这个程序是要判断括号对是否匹配的,但是执行到scanf("%s",pour[i]);提示了错误,所以就简化了main函数,只把出现错误的写了出来,让大神看看是哪里出来问题. 错误提示如下.通过设置的断点表明,该错误是在执行了scanf("%s",pour[i]);之后,要往下执行的时候出现的,希望各位老师不吝赐教. 解决方案 1)pour[i]没有分配空间. 2)scanf 不能直接调用 string 变量. for(int

js sort 二维数组排序的用法小结

 我们知道在js中默认提供了sort函数,但是这个函数默认是按照数组内容的ascii码升序进行排列的,如果我们要对二维数组排序要如何做呢 最近在搞js 排序的问题,因为数据库排序太耗资源,如果能转移到客户端去排序,能大大D减少服务器内存消耗.客户端的话,除了js,就是as了,可惜我as学得太烂,所以只能选择js来研究研究了...经过我的测试,js内置方法sort的效率非常高   我们知道在js中默认提供了sort函数,但是这个函数默认是按照数组内容的ascii码升序进行排列的,如果我们要对二维数

微信公众平台开发教程(六)获取个性二维码的实例_javascript技巧

一.功能介绍 在进行推广时,我们可以告诉对方,我们的微信公众账号是什么,客户可以去搜索,然后关注.二维码给我们提供了极大的便捷,只要简单一扫描,即可关注. 如果已经关注过,立刻跳入对话画面.在我们进行推广时,不再是简陋的文字,可以是一个有个性的二维码,想必会很生动. 微信对二维码提供了很好的支持,而且还可以根据需要生成不同场景的二维码.下面我们将介绍如何获取和使用二维码. 注意:限服务号,且进行了微信认证,费用300 二.相关接口 为了满足用户渠道推广分析的需要,公众平台提供了生成带参数二维码的

js sort 二维数组排序的用法小结_javascript技巧

最近在搞js 排序的问题,因为数据库排序太耗资源,如果能转移到客户端去排序,能大大D减少服务器内存消耗.客户端的话,除了js,就是as了,可惜我as学得太烂,所以只能选择js来研究研究了...经过我的测试,js内置方法sort的效率非常高 我们知道在js中默认提供了sort函数,但是这个函数默认是按照数组内容的ascii码升序进行排列的,如果我们要对二维数组排序要如何做呢?在php中是有multi_sort函数可供调用的,但是在js中似乎没有这种函数,但是没关系 ,因为js的sort函数其实也提

c-二维动态数组的创建过程

问题描述 二维动态数组的创建过程 int m,n; cin>>m>>n; int **p = NULL; p = new int *[m]; for(int i=0;i<m;i++) p[i] = new int[n]; 可以解释下后四句的具体过程吗? 解决方案 int p = NULL;//p是变量名,int是类型,即定义一个二维指针p,p指向空 p = new int *[m];//给p赋值,p指向一个指针数组,这个数组有m个成员 for(int i=0;i<m;i

微信公众平台开发(83) 生成带参数二维码

本文介绍在微信公众平台上如何使用高级接口开发生成带参数二维码的功能.   一.场景二维码 为了满足用户渠道推广分析的需要,公众平台提供了生成带参数二维码的接口.使用该接口可以获得多个带不同场景值的二维码,用户扫描后,公众号可以接收到事件推送. 目前有2种类型的二维码,分别是临时二维码和永久二维码,前者有过期时间,最大为1800秒,但能够生成较多数量,后者无过期时间,数量较少(目前参数只支持1--100000).两种二维码分别适用于帐号绑定.用户来源统计等场景. 用户扫描带场景值二维码时,可能推送

微信公众平台开发文档 生成带参数的二维码

为了满足用户渠道推广分析的需要,公众平台提供了生成带参数二维码的接口.使用该接口可以获得多个带不同场景值的二维码,用户扫描后,公众号可以接收到事件推送. 目前有2种类型的二维码,分别是临时二维码和永久二维码,前者有过期时间,最大为1800秒,但能够生成较多数量,后者无过期时间,数量较少(目前参数只支持1--100000).两种二维码分别适用于帐号绑定.用户来源统计等场景. 用户扫描带场景值二维码时,可能推送以下两种事件: 如果用户还未关注公众号,则用户可以关注公众号,关注后微信会将带场景值关注事

js二维数组定义和初始化的三种方法总结_javascript技巧

方法一:直接定义并且初始化,这种遇到数量少的情况可以用 var _TheArray = [["0-1","0-2"],["1-1","1-2"],["2-1","2-2"]] 方法二:未知长度的二维数组 var tArray = new Array(); //先声明一维 for(var k=0;k<i;k++){ //一维长度为i,i为变量,可以根据实际情况改变 tArray[k]