您的位置:首页 > 其它

loadrunner Lr_类函数之 lr_save_searched_string()

2018-01-02 00:22 363 查看

lr_save_searched_string()

搜索缓冲区中出现的字符串,并将该字符串后的缓冲区的一部分保存到参数。

int lr_save_searched_string(const char * buffer,long buf_size,unsigned int occurrence,const char *search_string,int offset,unsigned int string_len,const char *parm_name);

参数说明:
buffer:STRING或CARRAY缓冲区,其中的部分内容要保存。

buf_size:缓冲区大小。

occurrence:search_string的出现次数(从0开始计数)。例如,如果search_string发生三次,而您想要第二次发生,则将occurrence设置为1。

search_string:要在缓冲区中搜索的字符串。

offset:在搜索字符串发生结束后要跳过的字符数。

string_len:要保存的字符数。

parm_name:在后续lr语句中用于引用所保存信息的参数名。名称用双引号括起来。

lr_save_searched_string函数在字符串或字符数组缓冲区中搜索字符串search_string,并找到search_string的第n次出现,其中n是出现次数加1.要保存的子字符串在search_string的第n次出现结束后的偏移量开始,有长度string_len。

例如:

char cBuff [] =“abc Emma Woodhouse abc Elizabeth Bennet abc William Price”;

lr_save_searched_string(cBuff,strlen(cBuff),

        2,“a​​bc”,//搜索第三次出现的“abc”

        1,//跳过“abc”后的空格

        4,//放下四个字符...

        “Fannys_brother”); // ...在参数Fannys_brother中。

调用后,参数Fannys_brother的内容为“Will”。

search_string不能包含空字符,但缓冲区可以包含空字符。

使用lr_save_string函数从字符数组保存字符串。仅当需要相对于字符串出现保存字符数组的一部分时,才使用lr_save_searched_string。

 

示例:lr_save_searched_string
在以下示例中,证书保存到参数以供将来使用。 lr_save_searched_string函数将lrt_tpcal返回的“olen”缓冲区的16个字节保存到参数cert1。在缓冲区中保存的字符串位置超过字符串“SCertRep”的第一次出现的9个字节。

在“ScertRep”字符串之前通常有标题信息,它们的长度可以变化,这取决于记录环境。在这种情况下,lr_save_searched_string函数很有用,因为无论标头长度如何,证书总是超过此字符串九个字节。

/ *请求CARRAY缓冲区1 * /

lrt_memcpy(data_0,sbuf_1,41);

lrt_display_buffer(“sbuf_1”,data_0,41,41);

data_1 = lrt_tpalloc(“CARRAY”,“”,8192);

tpresult_int = lrt_tpcall(“GetCertificate”,

    data_0,

    参照图41,

    &data_1,

    &olen,

    TPSIGRSTRT);

/ *回复CARRAY缓冲区1 * /

lrt_display_buffer(“rbuf_1”,data_1,olen,51);

lrt_abort_on_error();

lr_save_searched_string(data_1,olen,0,“SCertRep”,9,16,“cert1”);
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: