51Testing软件测试论坛

标题: 求救:脚本中对BSTR类型数据的操作 [打印本页]

作者: imcarol    时间: 2005-7-21 16:52
标题: 求救:脚本中对BSTR类型数据的操作
一个很菜鸟的问题:
在loadrunner脚本中定义了一个BSTR类型的数据A,也赋了值“123”,如何在该数据后增加字符串呢?譬如要把A的值变成“123456”,如何在“123”后增加“456”呢?
我试过+、strcat、&都不行。
作者: imcarol    时间: 2005-7-22 08:32
:,(:,(:,(:,(
作者: kernzhang    时间: 2005-7-22 13:07
不可能的!
你试一下这个写法!
char A[255];
strcpy(a,"123");
strcat(a,"456");
lr_output_message("a = %s",a);
作者: imcarol    时间: 2005-7-22 14:06
要是BSTR中包含'\0'呢?能够转换成*char后再连起来吗?但是strcat是把’\0'看成字符串的结束符,stract会把'\0'后的都丢掉的哦~~~~
:,(:,(:,(
作者: imcarol    时间: 2005-7-22 14:27
或者有没有函数可以替换BSTR中的指定字符?
譬如:“123412341234”,将‘23’变成aa,即“1aa41aa41aa4”
作者: kernzhang    时间: 2005-7-22 22:05
你看看这些函数:strncpy(),strtok(),你说这些都是C里面的基础知识!建议你看看C的编程!
作者: imcarol    时间: 2005-7-25 08:23
这些有关字符串的str***函数,一遇到“\n“就当成是字符串的结束,不管后面的内容了。所以包含”\n“的BSTR不能用这些函数啊。
作者: kernzhang    时间: 2005-7-25 10:53
为什么不可以阿!我做了一些小的测试!用COM/DCOM协议!定义BSTR变量!同样可以使用strcpy和strcat!其实BSTR 就是一个w_char *变量!
作者: imcarol    时间: 2005-7-25 15:07
我也试过啊,要是bstr1=“abc”,bstr2=“123\0456“,
用strpy或strcat的时候,都会把bstr2看成是”123“。
作者: kernzhang    时间: 2005-7-25 17:47
那问你一下!你怎么将bstr2的值变为"123\0456"的?你既然能形成"123\0456"那你就可以将字符串连起来的!
BSTR AA[30];
   BSTR BB[30];
   strcpy(AA,"123");
   strcpy(BB,"456");
   strcat(AA,BB);
   lr_output_message("AA= %s",AA);

但是我得到的值就是123456
作者: imcarol    时间: 2005-7-26 08:43
我录制下来的脚本中的BSTR的值就是包含多个‘\0‘。而且里面包含了需要设为参数的字符串。
我现在只能采用了最笨的方法,把该BSTR一段一段的分开,再拼起来。使用了memmove、memcpy。




欢迎光临 51Testing软件测试论坛 (http://bbs.51testing.com/) Powered by Discuz! X3.2