文档库 最新最全的文档下载
当前位置:文档库 › LR函数笔记

LR函数笔记

1.lr_eval_string 每次迭代结束时,释放内存。不能处理字符串中含NULL字符(\0)的字符串。
lr_eval_string_ext和lr_eval_string_ext_free组合,可手工释放内存。能处理字符串中含NULL字符(\0)的字符串。

int lr_eval_string_ext( const char *in_string, unsigned long const in_len, char ** const out_str, unsigned long * const out_len, unsigned long const options, const char *file, long const line );
lr_eval_string_ext(参数A,参数A的长度加2,字符串保存的地址,目标字符串的长度,保留参数1=0,保留参数2=0,保留参数3=-1)
处理含null的字符串例子:
unsigned long prmLen;
char *newParam, *strStart;
lr_save_var("\0A A string\0 containing embedded Nulls\0", 39, 0, "Param1");
lr_eval_string_ext ("{Param1}", 8, &newParam, &prmLen, 0, 0,-1);// newParam中保存{Param1}的字符串,prmLen中保存字符串的长度,包括null字符串(strlen无法获取字符串中间含null的字符串的长度)。

lr_eval_string_ext_free(newParam);

2.int lr_save_string( const char *param_value, const char *param_name);
eg:lr_save_string("777", "savepara");

int lr_save_var( const char *param_value, unsigned long const value_len, unsigned long const options, const char *param_name);
eg:lr_save_var("\0A A string\0 containing embedded Nulls\0", 39, 0(固定为0), "Param1"); 将源字符串中从第一个字符开始,拷贝指定个数的字符到目标字符串中。
3.lr_save_searched_string,从目标字符串中,查找第n次出现的符合条件的字符串后拷贝n个字符到目标地址。

lr_save_searched_string(cBuff, strlen(cBuff),
2, "abc", // Search for third occurrence of "abc"
1, // Skip the space after "abc"
4, // Put the next four characters...
"Fannys_brother"); // ... in parameter Fannys_brother.
After the call, the content of parameter Fannys_brother is "Will".

4. void lr_save_datetime(const char *format, int offset, const char *name);
将当前日期或时间以自定义的格式存储到变量中。宏:DATE_NOW, TIME_NOW, ONE_DAY, ONE_HOUR, ONE_MIN. For example, TIME_NOW + ONE_HOUR
%H(时,大写)%M(分) %S(秒,大写) %B(月) %d(日,小写) %Y(年)

5.lr_param_unique ("OutParam"); 产生一组唯一的字符串放在变量里,格式如:. 如:None004192012164929
6.lr_start_sub_transaction( const char *sub_transaction, const char *parent_transaction);
lr_start_sub_transaction("electrical_purchases", "purchases");
在一个事务内部再记录一个子事务。
lr_end_sub_transaction("electrical_purchases", LR_PASS);







相关文档