ciao...ho dato una occhiata al programma...e mi sa che hai un pò di confusione in testa! perchè quello che vuoi fare è fattibilissimo, però non come lo fai tu!!
questo non ha molto senso...in genere se nn sai quanti elementi ci sono in un file, conviene creare un puntatore, leggere una prima volta il file per vedere il numero di valori da memorizzare nell'array, e così allocare l'array della dimensione corretta per la memorizzazione dei dati.
quindi al massimo faresti così:
codice:
int *a;
...
a = (int*)malloc(N_valori*sizeof(int));
nel tuo caso comunque, supponendo che hai 6 numeri da leggere allora il codice verrebbe in questo modo:
codice:
#include<stdio.h>
int main () {
FILE *pf;
int a[6];
int val;
int i = 0;
int j;
pf = fopen("numeri.txt", "r");
if (pf) {
while (!feof(pf)) {
fscanf(pf,"%d", &val);
a[i] = val;
i++;
}
printf("Numero di elementi nel file di testo : %d\n",i);
for(j=0; j<i; j++) {
printf("%d\n", a[j]);
}
fclose(pf);
}
else
printf("errore durante l'apertura del file.");
system("pause");
}
Se ci sono problemi, o non mi sono spiegato bene...chiedi pure!
ciao!