Per controllare la fine del file si usa la feof()
Devi usare un valore intero dove memorizzare in numero effettivo dei valori letti (non è detto che sia sempre uguale al numero massimo prestabilito)
In fase di lettura del vettore devi considerare solo l'effettivo numero di dati inseriti.
codice:
#include <stdio.h>
#define MAX 2000
int main (void)
{
FILE *fp;
float v[MAX];
int max, i;
fp = fopen("prova_int.txt","r");
if( NULL!=fp)
{
for(max=0; !feof(fp) && max<MAX; max++)
fscanf(fp, "%f", &v[max]);
for(i=0; i<max; i++)
printf("%f\n", v[i]);
fclose(fp);
}
else
printf("il file non si può aprire\n");
getchar ();
return 0;
}