Я ищу преобразование каждого порядкового значения, возвращаемого из web_reg, с помощью web_convert_param в цикле for и выполняю некоторые операции. Ниже мой код:
char str1[] = "";
web_reg_save_param("fetch", "LB=XXXXX", "RB=YYYYY", "ORD=ALL", LAST);
lr_param_sprintf("c_final_buf", "");
for (k = 1; k <= atoi(lr_eval_string("{fetch_count}")); k++){
sprintf(str1, "%s", lr_paramarr_idx("fetch",k));
lr_save_string(str1, "buffer1");
web_convert_param("buffer1Conv", "SourceString={buffer1}", "SourceEncoding=PLAIN", "TargetEncoding=URL",LAST);
lr_param_sprintf("c_buffer", "ABC%s=%s&",
lr_paramarr_idx("c_param",k), lr_eval_string("{CovPunchVal}"));
lr_param_sprintf("c_final_buf", "%s%s", lr_eval_string("{c_final_buf}"), lr_eval_string("{c_buffer}"));
}
Используя приведенный выше код, я иногда получаю ИСКЛЮЧЕНИЕ НАРУШЕНИЯ ПАМЯТИ в sprintf(str1, "%s", lr_paramarr_idx("fetch",k));
. Может кто-нибудь предложить, как я могу добиться выше, не привлекая никаких внешних переменных.
EDIT1: хотелось бы избежать использования lr_paramarr_idx("c_param",k)
, так как это может вызвать исключения памяти во время выполнения в соответствии с несколькими онлайн-формами.