51Testing软件测试论坛

标题: loadrunner有没有提供类似substr, replace之类的字符串操作函数 [打印本页]

作者: majesty    时间: 2008-9-3 15:03
标题: loadrunner有没有提供类似substr, replace之类的字符串操作函数
查了下帮助,发觉提供的字符串操作函数真是少的可怜啊
作者: zj101582    时间: 2008-9-3 15:30
标题: 回复 1# 的帖子
可以用c语言中的 几个字符串函数
作者: majesty    时间: 2008-9-3 15:46
如果我要实现类似把字符串"123456789"前5位替换成*号的功能该如何用现有的函数操作?
作者: zj101582    时间: 2008-9-4 10:06
标题: 回复 3# 的帖子
c中没有提供替换 函数
如果是等长的替换,直接可以用strstr,strncopy函数,不等长的自己编写个替换函数。
也可以google,百度下吧
作者: aks5201314    时间: 2008-9-4 10:48
1.先定义一个有5个*号的数组
2.利用strncpy把字符串"123456789"中后4位拷贝到另外一空字符串数组(之前已定义)
3.用函数strcat把两个字符串数组拼接在一起就可以了
LR中没有提供截取字符串,替换的函数.只能通过间接的方式来实现你所提到的要求
作者: majesty    时间: 2008-9-4 20:54
原帖由 aks5201314 于 2008-9-4 10:48 发表
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
这样的话,你用一个循环把字符串"123456789"次序颠倒赋给一个临时数组,然后再利用strncpy函数取临时数组的前4位,部分代码如下
char str_src[9]="123456789";
char temp1[9];
char temp2[4];
char str_des[9]="*****";
for(i=8;i>=0;i--)
    {
         for(j=0;j<=8;j++)
              temp1[j]=str_src
     }
strncpy(temp2,temp1,4);
strcat(str_des,temp2);
这样应该可以实现你的要求,就是有点烦琐




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