Всем привет. У меня проблема с функцией. Она должна открывать JSON файл, по
ключу, доставать значение, засовывать это значение в массив и возвращать
ссылку на первый элемент массива... Она работала, но я переставил
линукс, переустановил codeblocks и она теперь не фурычит... На этапе возврата значения, где стоит return bufer она ничего не возвращает...
Да, и не задавайте вопросов почему я сканирую строчки по 50 символов, у меня json такой... Вся проблема в операторе возврата... Но вот какая?
int JSON_parse_key (char *open_file,char *key,int size_key){
FILE *in_file=fopen(open_file,"r");
char word1[50];
while (fscanf(in_file,"%s",&word1)>0) {
if (strstr(word1,key)) {
int dlina = strlen(word1);
int sizess = dlina-size_key-6;
int i = size_key + 4;
usleep(1000);
int ert =0;
unsigned char eee[sizess];
for (;i<dlina-2;i++,ert++) {eee[ert]=word1[i];}
uint8_t *dd = &eee;
int a=0; int ee=0;
char buf [2];
unsigned char bufer [sizess/2];
for (;a<sizess;a+=2) {
sprintf(buf,"%c%c",*(dd+a),*(dd+a+1));
int ar = strtol(buf,NULL,16);
char us = 0x00;
us=ar;
bufer[ee] = us;
ee++;
}
fclose(in_file); return bufer;
}
}
}
void chegoto () {
char kluch [30];
sprintf(kluch,"%s[%i]","IEEE",key);
char *dd = JSON_parse_key("output.JSON",&kluch,strlen(kluch));
/*ВОТ так раньше *dd возвращал ссылку на первый элемент массива значения...
Тоесть в json есть число 892040, я его распарсиваю и получаю массив {89,20,40} Апотом пишу *dd и получаю ссылку на число 89... А сейчас не работает ничего, вообще ума не приложу что могло случиться с кодом, я всеголишь переставил линукс....*/
}