Problema durante lettura interi

di il
1 risposte

Problema durante lettura interi

Buongiorno a tutti , sto cercando di imparare il linguaggio C.
Ho deciso di creare un "programma" molto semplice per testare se avevo capito le funzioni di lettura del file .
Il file che legge deve essere presente nella stessa cartelle del programma .
Il programma riesce ad aprire il file e lo legge ma alla fine dell' output stampa un numero casuale sempre diverso .
Vi lascio il codice qua sotto
------------------------------------------------------------------------------------------------------------------------------------------------------------

#include <cstdlib>
#include <stdio.h>
#include <string.h>
#define MAX 100 
int letturafile(char file [] , int vettore []);
int main (){
 char file[MAX];
 int vettore[MAX] , dim , i ;
 printf("Digita il nome del file da aprire : ");
 scanf("%s" , file);
 dim = letturafile(file , vettore);
 printf("I numeri interi nel file sono :\n");
 for ( i=0 ; i < dim ; i++){
  printf("%d " , vettore[i]);   
 }
 return 0 ;   
}
int letturafile(char file [] , int vettore[]){
int i = 0; 
FILE *puntatore;
puntatore=fopen(file , "r");
while(!feof(puntatore)){
    fscanf( puntatore ,"%d" , &vettore[i]);
    i++;   
}
fclose(puntatore);  
return i ;
}
-------------------------------------------------------------------------------------------------------------------------------------------------------------------------
Ringrazio in anticipo chi è disposto ad aiutarmi e vi auguro buona giornata

1 Risposte

  • Re: Problema durante lettura interi

    Prova così
    
    	fscanf(puntatore, "%d", &vettore[i]);
    	while (!feof(puntatore)) {
    		i++;
    		fscanf(puntatore, "%d", &vettore[i]);
    	}
    
    e controlla la documentazione della funzione feof per capire
Devi accedere o registrarti per scrivere nel forum
1 risposte