01: // lettura file di tipo CSV
02: #include<stdio.h>
03: #include<stdlib.h>
04: 
05: // i file CSV (Comma Separated Values) sono file in cui, riga per riga, trovo dati separati da "," o comunque da qualche carattere specifico
06: // li useremo spesso nei temi di esame
07: // nel file di esempio ho, riga per riga, 4 numeri (un intero e tre a virgola mobile) separati da ","
08: // leggere una riga come stringa per poi cercare di "spezzettarla" in memoria e' complicato
09: // molto piu' sensato interpretare i dati gia' in fase di lettura
10: 
11: int main(int argc, char **argv){
12: 
13:   FILE *fp=fopen("files/trees.csv", "r");
14:   if(!fp)
15:   {
16:     perror("Errore non riesco ad aprire il file");
17:     exit(1);
18:   }
19: 
20:   int indice;
21:   float diametro, altezza, volume;
22: 
23:   // leggo e stampo quanto letto riga per riga
24:   // per leggere, nella stringa di formato metto esattamente come e' fatto riga per riga il mio file
25:   // ovvero: un numero intero (che leggero'), una virgola (che ignorero'), un numero flot, una virgola ...
26:   while(fscanf(fp, "%d,%f,%f,%f ", &indice, &diametro, &altezza, &volume) == 4) // se non ho letto 4 elementi o il file non e' fatto come me lo aspetto o sono arrivato in fondo
27:   {
28:     printf("#%02d  %6.3f   %6.3f   %6.3f \n", indice, diametro, altezza, volume);
29:   }
30: 
31:   fclose(fp);
32: 
33:   return 0;
34: }
35: 
36: 


Se avete commenti o osservaƶioni su questa pagina
mandate un messaggio di posta elettronica a bertoƶƶi@ce.unipr.it