lr_free_parameter()
在运行时删除动态参数,释放其缓冲区。
int lr_free_parameter(const char * param);
参数说明:
Param:动态参数的名称。
lr_free_parameter函数释放在运行时为指定参数分配的内存。
lr_free_parameter释放在运行时使用诸如web_reg_save_param或lr_save_string等函数创建的参数的内存。 对于在run-tme创建参数的其他函数,请参阅实用程序字符串和参数函数以及Web相关函数。 对于其他协议中的类似功能,请参阅特定协议的参考。
示例:lr_free_parameter
在第一个示例中,lr_free_parameter函数释放为参数Name保存的内存。在解除分配后尝试访问参数时,会发出警告。
在第二个例子中,参数数组在循环中释放。该数组是使用web_reg_save_param创建的,其中Ord = All
示例1:释放单个参数
//创建参数Name
lr_save_string(“Fitzwilliam”,“Name”);
//尝试使用参数分隔符来评估字符串“Name”
lr_output_message(lr_eval_string(“{Name}”));
//释放为动态参数“Name”分配的内存
lr_free_parameter(“Name”);
//尝试使用参数分隔符重新计算字符串“Name”
lr_output_message(lr_eval_string(“{Name}”));
return 0;
输出:
vuser_init.c(9):通知:保存参数“Name = Fitzwilliam”。
vuser_init.c(14):通知:参数替换:参数“Name”=“Fitzwilliam”
vuser_init.c(14):Fitzwilliam
vuser_init.c(18):通知:释放参数'名称'。
vuser_init.c(22):警告:带参数分隔符的字符串'Name'不是参数。
vuser_init.c(22):{Name}
示例2:释放参数数组
web_reg_save_param(“test”,
“LB = \”“,
“RB = \”“,
“Ord = All”,
LAST)
...任何动作功能
i = atoi(lr_eval_string(“{test_count}”));
while(i> 0){
sprintf(buff,“test_%d”,i); //在“test_”之后添加索引
lr_free_parameter(buff); //从数组中释放参数
i--
}}