majesty 发表于 2008-9-3 15:03:21

loadrunner有没有提供类似substr, replace之类的字符串操作函数

查了下帮助,发觉提供的字符串操作函数真是少的可怜啊

zj101582 发表于 2008-9-3 15:30:24

回复 1# 的帖子

可以用c语言中的 几个字符串函数:)

majesty 发表于 2008-9-3 15:46:19

如果我要实现类似把字符串"123456789"前5位替换成*号的功能该如何用现有的函数操作?

zj101582 发表于 2008-9-4 10:06:19

回复 3# 的帖子

c中没有提供替换 函数
如果是等长的替换,直接可以用strstr,strncopy函数,不等长的自己编写个替换函数。
也可以google,百度下吧:)

aks5201314 发表于 2008-9-4 10:48:45

1.先定义一个有5个*号的数组
2.利用strncpy把字符串"123456789"中后4位拷贝到另外一空字符串数组(之前已定义)
3.用函数strcat把两个字符串数组拼接在一起就可以了
LR中没有提供截取字符串,替换的函数.只能通过间接的方式来实现你所提到的要求

majesty 发表于 2008-9-4 20:54:10

原帖由 aks5201314 于 2008-9-4 10:48 发表 http://bbs.51testing.com/images/common/back.gif
1.先定义一个有5个*号的数组
2.利用strncpy把字符串"123456789"中后4位拷贝到另外一空字符串数组(之前已定义)
3.用函数strcat把两个字符串数组拼接在一起就可以了
LR中没有提供截取字符串,替换的函数.只能通过间接 ...
你的方法我之前想过的,但是strncpy只能复制字符串起始若干位的字符,对于我的要求(要截取后几个字符)无能为力,下面是帮助里关于此函数的解释
strncpy copies the first n characters of one string to another.
char *strncpy ( char *dest, const char *source, size_t n );

aks5201314 发表于 2008-9-5 10:50:27

这样的话,你用一个循环把字符串"123456789"次序颠倒赋给一个临时数组,然后再利用strncpy函数取临时数组的前4位,部分代码如下
char str_src="123456789";
char temp1;
char temp2;
char str_des="*****";
for(i=8;i>=0;i--)
    {
         for(j=0;j<=8;j++)
            temp1=str_src;
   }
strncpy(temp2,temp1,4);
strcat(str_des,temp2);
这样应该可以实现你的要求,就是有点烦琐
页: [1]
查看完整版本: loadrunner有没有提供类似substr, replace之类的字符串操作函数