Sto provando come mi ha consigliato, ho cambiato così il programma :
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;
}
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.
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...