PDA

Visualizza la versione completa : feof mi conta due volte l'ultimo valore


mVesim
09-04-2010, 17:05
Come da titolo, usando la negazione di feof dovrei prendere tutti i valori di un file, ma per non so quale motivo mi conta due volte l'ultimo, che viene quindi stampato 2 volte. Il codice questo



#include<stdio.h>
FILE *fp;
int main(){
int i;
fp = fopen("abc.txt", "w+");
for(i=0;i<=9;i++)
fprintf(fp,"%d\n",i);
rewind(fp);
while(!feof(fp)){
fscanf(fp,"%d",&i);
printf("%d\n", i);
}
fclose(fp);
getchar();
return 0;
}

oregon
09-04-2010, 21:53
...
fscanf(fp, "%d", &i);
while(!feof(fp))
{
printf("%d\n", i);
fscanf(fp,"%d",&i);
}
...

Loading