函数作用:
将一个变化长度的字符串保存到parameter中。
用法实例:
此处讲解函数:
Action()
{
web_save_timestamp_param("tStamp", LAST);
lr_output_message("%s",lr_eval_string("{tStamp}"));
lr_save_var( lr_eval_string("{tStamp}")+4, 9, 0, "test");
lr_log_message("============>> %s", lr_eval_string("{test}"));
lr_save_string("My name is Lixiaolong","name");
lr_save_var(lr_eval_string("{name}")+11,10,0,"surname");//格式为"正文内容的偏移量",“剩余文本中保留的字节数”,“0是从左边开始取,默认即可”,“保存结果的参数”
lr_log_message("============>> %s", lr_eval_string("{surname}"));
#define MAX_NAME_LEN 6
lr_save_string( "10.20.3.21:8001", "RiskCode_value" );
lr_save_var( lr_eval_string("{RiskCode_value}")+2, MAX_NAME_LEN, 0, "ShortRiskCode_value");
lr_message( ">>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>ShortRiskCode_value:%s", lr_eval_string("{ShortRiskCode_value}") );
/*
lr_save_var( lr_eval_string(lr_eval_string(lr_paramarr_random("ParamValue_string"))) + 5, 4, 0, "CityCode" );
lr_log_message("============>> random string is %s", lr_eval_string("{CityCode}"));
*/
return 0;
}
LR字符串截取lr_save_var
lr_save_var/将变长字符串保存到参数中
// lr_save_var function 函数将指定的变长
// 字符串赋给参数。该函数可用于
// 关联查询。要确定参数值,
// 请使用函数 lr_eval_string。
int lr_save_var (const char * param_value, unsigned long const value_len, unsigned long const options, const char * param_name);
示例:
...
lr_save_var( lr_eval_string(lr_eval_string(lr_paramarr_random("ParamValue_string"))) + 5, 4, 0, "CityCode" );
lr_log_message("============>> random string is %s", lr_eval_string("{CityCode}"));
....
运行后,关联到的参数组ParamValue_string[]如下:
Action.c(21): Notify: Saving Parameter "ParamValue_string_1 = 宝山,2009".
Action.c(21): Notify: Saving Parameter "ParamValue_string_2 = 崇明,2012".
Action.c(21): Notify: Saving Parameter "ParamValue_string_3 = 奉贤,2063".
Action.c(21): Notify: Saving Parameter "ParamValue_string_4 = 嘉定,2011".
Action.c(21): Notify: Saving Parameter "ParamValue_string_5 = 金山,3530".
Action.c(21): Notify: Saving Parameter "ParamValue_string_6 = 闵行,2008".
Action.c(21): Notify: Saving Parameter "ParamValue_string_7 = 南汇,2014".
Action.c(21): Notify: Saving Parameter "ParamValue_string_8 = 浦东,2015".
Action.c(21): Notify: Saving Parameter "ParamValue_string_9 = 青浦,2061".
Action.c(21): Notify: Saving Parameter "ParamValue_string_10 = 上海,2013".
Action.c(21): Notify: Saving Parameter "ParamValue_string_11 = 松江,3413".
Action.c(21): Notify: Saving Parameter "ParamValue_string_12 = 徐家汇,3643".
假如我们需要随机取得“ParamValue_string_10 = 上海,2013”字符串中“2013”这个值
第一步: 先随机取数组值 lr_eval_string(lr_paramarr_random("ParamValue_string"))
第二步: 对取到的值如“上海,2013”截取,从第6个字符截取4位,用到函数lr_eval_string,存在参数"CityCode"内
lr_save_var( lr_eval_string(lr_eval_string(lr_paramarr_random("ParamValue_string"))) + 5, 4, 0, "CityCode" );
==》 中文字符算2个字符,而且计算机计数从0算起,故要+5