lr_save_var字符串截取总结

函数作用:

将一个变化长度的字符串保存到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

原文地址:https://www.cnblogs.com/qmfsun/p/4866122.html