
Originariamente inviata da
Nasio91
Volevo evitare di allocare inutilmente spazio per memorizzare le variabili,
Questo � assurdo perch� sono pochi byte !
Comunque, solo a scopo didattico, tu non tieni presente il fatto che, dopo la lettura del flag, il puntatore si sposta, quindi 11 non vale pi� ... Studia un po' queste modifiche del ciclo, facendo attenzione a tutte le modifiche fatte
codice:
while(!feof(leggi)){
fseek(leggi, 11, SEEK_CUR);
fscanf(leggi, "%d", &flag );
fseek(leggi, -13, SEEK_CUR);
if(flag==1)
{ /*se flag==1 da inizio riga. */
fscanf(leggi, "%d", &entrata[i].mat);
fscanf(leggi, "%d", &entrata[i].ore);
fscanf(leggi, "%d", &entrata[i].minuti);
fscanf(leggi, "%d\n", &entrata[i].flag);
i++;
}
else
{
fscanf(leggi, "%d", &uscita[j].mat);
fscanf(leggi, "%d", &uscita[j].ore);
fscanf(leggi, "%d", &uscita[j].minuti);
fscanf(leggi, "%d\n", &uscita[j].flag);
j++;
}
}
fclose(leggi);
}