Sto provando come mi ha consigliato, ho cambiato così il programma :
In pratica ho cambiato la dichiarazione di "temp" da CHAR a INT e il formato di acquisizione del numero da file in "fscanf(fpin,"%d",&temp);", ciò che accade è che entra in loop perché legge da file i primi numeri 0 101001 poi però arriva nella seconda riga, trova l'1 e subito dopo A3F e come ho detto entra in loop....Forse non dovrei proprio arrivare a far memorizzare nella variabile "temp" il carattere che viene dopo il primo numero di ogni riga del file.codice:int Leggi_NumeriAscii(int base_cercata, FILE *fpin, char nc[][NCAR]) { int temp; int i=0,j=0,k=0; while(!feof(fpin)){ fscanf(fpin,"%d",&temp); //printf(" temp=%c basecercata=%d\n",temp,base_cercata); if(temp==base_cercata){ fscanf(fpin,"%s",&nc[i]); printf(" nc[%d]=%s",i,nc[i]); } i++; } printf("\n"); return i; }
Non c'è un modo per incrementare il puntatore e farlo puntare in ogni ciclo al primo elemento di riga del file ?? io ho provato semplicemente con "fpin++" però non va sicuramente bene...

Rispondi quotando