wrugg25 ha scritto:
Riscrivi il ciclo nella forma:
while (!feof(fp_orig1))
{
if(fscanf(fp_orig1, "%s%s%d%d%f", codice_albergo1, citta_albergo, &categoria, &camere, &prezzo1) < 5)
break;
}
E dimmi se cambia qualcosa: ho idea che il tuo problema dipenda da una combinazione degli effetti di feof() ed fscanf(), ma al momento non ho tempo per scriverti dettagliatamente in che modo.
Prova il mio codice, e se risolve il tuo problema più tardi ti scrivo perchè ti ho dato questo suggerimento
Allora ho provato il tuo codice ed effettivamente non si blocca, perfetto!
Poi ho aggiunto una stampa per un ulteriore controllo, modificando il pezzo
di codice così:
while (!feof(fp_orig1))
{
if (fscanf(fp_orig1, "%s%s%d%d%f", codice_albergo1, citta_albergo, &categoria, &camere, &prezzo1) < 5)
{
printf("Errore durante la lettura del file.\n");
break;
}
else
{
printf("%s %s %d %d %f\n", codice_albergo1, citta_albergo, categoria, camere, prezzo1);
}
}
Grazie mille per la dritta