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
mandate un messaggio di posta elettronica a bertoƶƶi@ce.unipr.it