Buonasera a tutti! Ho iniziato da poco i file in C e ho un problema con un esercizio che proprio non riesc a capire xke non funzioni. ho un file di testo con dei numeri interi e devo leggere questi numeri e metterli dentro un vettore. Ho usato una fscanf che però non fa niente, cioè tiene i numeri giganteschi che ci sono all'inizio senza sostituirli con quelli del file. qualcuno mi può dare una mano?
questo è il mio testo:
#include <stdio.h>
#include <ctype.h>
#include <stdlib.h>
#define MAX 6
int main(int argc,char *argv[])
{
FILE *fp;
int c;
int numeri[MAX+1],numelementi=0,ok=1,i,j;
fp=fopen(argv[1],"r");
if(fp==NULL)
{
printf("Errore nella lettura del file.\n");
}
else
{
c=getc(fp);
while(c!=EOF)
{
if(ok==1)
{
if(isdigit(c)!=0)
{
numelementi++;
ok=0;
}
}
else
{
if(isspace(c)!=0)
{
ok=1;
}
}
c=getc(fp);
}
for(i=0;i<numelementi;i++)
{
fscanf(fp,"%d",&numeri[i]);
}
}
printf("il file contiene %d elementi\n",numelementi);
for(j=0;j<numelementi;j++)
{
printf("numeri[%d]=%d",j,numeri[j]);
}
fclose(fp);
return 0;
}