51Testing软件测试论坛
标题:
在线等啊在线等:二维数组在LR中不支持么?
[打印本页]
作者:
测霸
时间:
2009-11-20 10:40
标题:
在线等啊在线等:二维数组在LR中不支持么?
我用LR9.1录制一个脚本,需要用到二维数组,我用下面的方法定义的
char s11[]="0_1_0";
char s12[]="0_2_0";
char s13[]="0_3_0";
char *array[]={s11,s12,s13};
但是一编译就报错,报错信息如下:
Action.c (14): initializer must be constant
请教下,LR不支持二维数组么?我想做个循环比较,用buffer中的字符串和array中的字符串一个个比较,找到相同的,应该怎么做才能实现呢?
[
本帖最后由 测霸 于 2009-11-20 11:03 编辑
]
作者:
测霸
时间:
2009-11-20 11:21
我把其他的代码都屏蔽了,单独写了个比较的程序,编译不通过,不明白啊,不明白,有LR的童鞋们放上去执行下看看啊~
char s11[]="0_1_0";
char s12[]="0_2_0";
char s13[]="0_3_0";
int j;
int result;
char *array[]={s11,s12,s13};
char buffer[]="0_2_0";
for (j=0;j<3;j++)
{
result = strcmp( buffer,*array[j]);
if (result==0) {
lr_output_message("相等");
else
continue;
}
[
本帖最后由 测霸 于 2009-11-20 11:23 编辑
]
作者:
dennyqiang
时间:
2009-11-20 11:57
代码声明得有问题,不用这么复杂。楼主是要定义字符串数组,而在C中是没有string这种类型来定义字符串数组的,所以只能用char来定义一个二维的字符数组,便可得到一个一维的字符串数组。
楼主可参考以下代码,理解其意图:
int j, result;
char str[3][10] = {"0_1_0","0_2_0","0_3_0"};
for (j=0; j<3; j++) {
result = strcmp("0_2_0", str[j]);
if (result == 0)
lr_output_message("相等");
else
lr_output_message("不相等");
}
作者:
云层
时间:
2009-11-20 12:03
真不愧是强哥啊。。
作者:
测霸
时间:
2009-11-20 13:10
多谢强哥,问题终于解决了.
作者:
泥泥虫
时间:
2009-11-20 14:11
饿。。。。惊现云层老师。
欢迎光临 51Testing软件测试论坛 (http://bbs.51testing.com/)
Powered by Discuz! X3.2