请问在lr中如何截取字符串的中的一部份?
我把一个字符串参数化后,发现另一个字符串是依赖前一个字符串的,例如:第一字符串是:001008, 第二个字符串就是001;或第一字符串是:北京西城区, 第二个字符串就是北京。所以我想问如何从一个字符串中截取一部份或多部份。还有个问题就是,我声明了个变量,可是如何让这个变量等于参数化的值哪?谢谢了。 原帖由 honglong 于 2007-7-24 18:11 发表 http://bbs.51testing.com/images/common/back.gif
我把一个字符串参数化后,发现另一个字符串是依赖前一个字符串的,例如:第一字符串是:001008, 第二个字符串就是001;或第一字符串是:北京西城区, 第二个字符串就是北京。所以我想问如何从一个字符串中截取 ...
之前告诉你的是:用指针循环的方式完成的。现在有更简便的方法,直接用LR的函数+数组的方式完成。不需要使用指针了!!
请看如下的代码:
现有一个字符串:"ABCDEFG", 现要从第三位开始,连续取两位字符,即"DE"! 取值代码如下
char array1;
char array2;
strcpy(array1,"ABCDEFG");
strncpy(array2,&array1,2); //&array1表示的值是:"CDEFG"
lr_output_message("Value is:%s", array2);
[ 本帖最后由 spartan 于 2007-7-26 11:54 编辑 ]
回复 #1 honglong 的帖子
1.截取某个字符中的某几位代码:下面的列子是:截取字符串"ABCDEFG"中, 从第三位开始连续两位的字符,即:CD.
int k;
chartempstr2;
char *strtmp="ABCDEFG";
for (k=1;k<3;k++)
{
strtmp++;
}
lr_output_message( "strtmp=%s",strtmp);
strncpy(tempstr2,strtmp,2);
lr_output_message( "tempstr2=%s",tempstr2);
2.将某个变量的值赋值给某个参数
下面的列子是:将上段代码中变量tempstr2的值,赋值给参数列表中的参数temp,并且显示出来。
lr_save_string(tempstr2,"temp");
lr_output_message("the velue is:%s",lr_eval_string("{temp}")); 顶楼上。 顶上很久以前我急需这个 太牛了!就是看着有点晕。看来要好好看看c的书了。太感谢spartan 了。 好好复习复习c吧,其实LoadRunner中的编程语言就是c的一个子集。 能把代码解释一下吗?for(k=1){} 那个循环是什么意思呀?
回复 #7 hhy0824 的帖子
for (k=1;k<3;k++){
strtmp++;
}
strtmp是个指针。 strtmp++:指针位置往后移动一位。
1.循环开始前,指针指在第一个字符上。即:ABCDEFG
2. K=1,满足循环条件。指针望后移动一位,指在第二个字符上了。 即:ABCDEFG
3. K=2,满足循环条件。指针望后移动一位,指在第三个字符上了。 即:ABCDEFG
4. K=3,不满足循环条件。指针位置不移动,仍然指在第三个字符上。 即:ABCDEFG
所以:经过这个循环之后,指针的位置在第三个字符上。 即:ABCDEFG
[ 本帖最后由 spartan 于 2007-7-25 09:50 编辑 ] sdlkfj2 强 今天试验时发现一个小问题,请教一下spartan 。char *strtmp="ABCDEFG";
赋值一个字符串,但是如何把一个字符类型的变量赋值给*strtmp。 ls理解有错误,*strtmp是指针变量,要赋值也必须是指针变量,而不能把字符类型赋值给指针,只能把字符值的指针赋值给其他指针变量 原帖由 honglong 于 2007-7-25 14:09 发表 http://bbs.51testing.com/images/common/back.gif
今天试验时发现一个小问题,请教一下spartan 。char *strtmp="ABCDEFG";
赋值一个字符串,但是如何把一个字符类型的变量赋值给*strtmp。
你的意思是:程序有个字符类型的变量, 比如说是: empstr,它的值是:jordan, 即:empstr=“jordan”;同时有个指针变量: *temp, 如何将empstr的值jordan赋值给指针变量 *temp, 对吗?
[ 本帖最后由 spartan 于 2007-7-25 17:07 编辑 ] 我将字符型变量赋值给指针,数组赋值给指针,同样数据类型的指针相互赋值,常量字符串赋值给指针都罗列了一下。应该会对楼主有所帮助的。
point_01()
{
int k;
char *point1, *point2;
char str1;
chararray1;
charresult1,result2,result3,result4;
/* 相同类型的指针之间的赋值,将指针point1已经有的值赋给指针point2; */
point1="ABCDEFGH";
point2=point1;
for (k=1;k<3;k++)
{
point2++;
}
strncpy(result1,point2,3);
lr_output_message( "指针相互赋值的结果result1=%s",result1);
/*变量的值赋给相同数据类型的指针*/
str1='S';//注意:使用char型变量,只能定义一个字符。
point2=&str1;
for (k=1;k<1;k++)
{
point2++;
}
strncpy(result2,point2,3);
lr_output_message( "变量赋值给指针的结果result2=%s",result2);
/* 把数组的值赋予指向数组的指针变量,array1 为数组,将其值赋予指针point1; */
strcpy(array1,"helloloadrunner");
point1=array1;
for (k=1;k<3;k++)
{
point1++;
}
strncpy(result3,point1,3);
lr_output_message( "数组赋值给指针的结果result3=%s",result3);
/*把字符串赋予指向字符类型的指针变量, 将字符串"youareboy"赋值给指针point1;*/
point1="youareboy";
for (k=1;k<3;k++)
{
point1++;
}
strncpy(result4,point1,3);
lr_output_message( "字符串赋值给指针的结果result4=%s",result4);
return 0;
}
[ 本帖最后由 spartan 于 2007-7-25 18:38 编辑 ] 看得出spartan是个函数高手.
关于截取字符的问题,之前有过这类的贴子.可以找找看一看.不过spartan回答的相当好.支持一下.
继续学习中
继续学习中 牛!估计今天晚上有的看了。 原帖由 spartan 于 2007-7-24 18:42 发表 http://bbs.51testing.com/images/common/back.gif1.截取某个字符中的某几位代码:
下面的列子是:截取字符串"ABCDEFG"中, 从第三位开始连续两位的字符,即:CD.
int k;
chartempstr2;
char *strtmp="ABCDEFG";
for (k=1;k
挺不错的。。。很实用,可惜lr_save_var()不够强,如果option参数能设置为第几位开始,那就爽了~~~ 学习了,用这个方法确实解决了我的问题
页:
[1]