codice:
for(i=0;i<EOF;++i)
fscanf(prova,"%d",v);
for(i=0;i<max;i++)
printf("%c",v[i]);
bhè ci sono parecchi errori eh....iniziamo dal for():
1) la condizione di terminazione non può essere i<EOF...non ha senso...poi non puoi incrementare ++i...si incrementa i++...che sono due cose differenti!
2) fscanf(prova,"%d",&v[i]), si utilizza come la scanf() normale, quando leggi un carattere per volta o un intero devi mettere l'& davanti!
3) infine quando vai a stampare, non puoi ciclare fino a max, perchè non è detto che il vettore contenga 200 elementi!! se ne contiene solo 3 vai a stampare cose che nn c'entrano! poi se leggi degli interi, non puoi andare a stampare con il %c....
bhè ci sono un pò d errori di sintassi base direi! ripassati qualcosa da un buon libro, come il deitel&deitel per esempio, che da una buona base secondo me!
comunque ti posto la lettura corretta! e cerca di capire cosa fa!
file input:
codice:
file prova.txt:
"20 30 40 50 60<eoln>
13 14 87 54<eoln>
<EOF>"
codice:
#include <stdio.h>
#define max 2000
int main () {
FILE *prova;
int v[max];
int i, dimensioneVet;
prova=fopen("prova.txt","r");
if(prova!=NULL){
i=0;
while ( fscanf(prova,"%d", &v[i]) != EOF ) {
i++;
}
fclose(prova);
dimensioneVet = i;
for ( i=0; i<dimensioneVet; i++ ) {
printf ("%d ", v[i]);
}
}
else printf("il file non si può aprire\n");
getche ();
return 0;
}