Причина, по которой вы получаете ИСКЛЮЧЕНИЕ НАРУШЕНИЯ ПАМЯТИ на sprintf(str1, "%s", lr_paramarr_idx("fetch",k));
, может быть связана с объявлением str1.
Это должен быть массив символов фиксированного размера, например char str1[256];
, а не char str1[] = "";
Также, возможно, следующий код может быть вам полезен в качестве альтернативы:
int k;
int count;
//web_reg_save_param("fetch", "LB=XXXXX", "RB=YYYYY", "ORD=ALL", LAST);
// simulation of parameters array
lr_save_string("101:abc","fetch_1");
lr_save_string("102:abc","fetch_2");
lr_save_string("103:abc","fetch_3");
lr_save_string("104:abc","fetch_4");
lr_save_string("105:abc","fetch_5");
lr_save_string("106:abc","fetch_6");
lr_save_string("107:abc","fetch_7");
lr_save_string("108:abc","fetch_8");
lr_save_string("109:abc","fetch_9");
lr_save_string("110:abc","fetch_10");
lr_save_string("111:abc","fetch_11");
lr_save_string("112:abc","fetch_12");
lr_save_string("113:abc","fetch_13");
lr_save_string("114:abc","fetch_14");
lr_save_string("115:abc","fetch_15");
lr_save_string("116:abc","fetch_16");
lr_save_string("117:abc","fetch_17");
lr_save_string("118:abc","fetch_18");
lr_save_string("119:abc","fetch_19");
lr_save_string("120:abc","fetch_20");
lr_save_string("20","fetch_count");
// convert values inside array
count = atoi(lr_eval_string("{fetch_count}"));
for (k = 1; k <= count; k++){
lr_save_int(k,"ParamIndex");
web_convert_param(lr_eval_string("fetch_{ParamIndex}"), "SourceEncoding=PLAIN", "TargetEncoding=URL",LAST);
}
// continue the required manipulations…