Scrivere un programma apre in lettura un file di testo il cui nome, di al massimo 30 caratteri è chiesto all'utente. Il programma legge la sequenza di valori interi salvati nel file (la cui lunghezza non è nota a priori) e la visualizza.
Non capisco perché il programma non mi entra nel while(!feof(fp)). Una volta che inserisco il nome del file il programma non mi stampa nulla.
grazie in anticipo.
C:
#include <stdio.h>
#define MAX 30
int main(){
FILE* fp;
char nome[MAX];
int n;
printf("inserire nome file: ");
scanf("%[^\n]", nome);
fp=fopen(nome, "r");
if(fp){
fscanf(fp, "%d", &n);
while(!feof(fp)){
printf("%d", n);
fscanf(fp, "%d", &n);
}
fclose(fp);
}
else{
printf("errore di apertura del file\n");
}
return 0;
}
Non capisco perché il programma non mi entra nel while(!feof(fp)). Una volta che inserisco il nome del file il programma non mi stampa nulla.
grazie in anticipo.