01: // lettura fino a fine file da file binario
02: #include<stdio.h>
03: #include<stdlib.h>
04:
05: int main(int argc, char **argv){
06:
07: unsigned short intlp, prefix;
08: unsigned int number;
09:
10: FILE *f = fopen("numeri.dat", "rb"); // apro il file precedentemente generato
11: if(!f)
12: {
13: perror("");
14: exit(EXIT_FAILURE);
15: }
16:
17: // la fread() ha la stessa sintassi della fwrite
18: // restituisce il numero di "elementi" letti e quindi ci permette
19: // di capire se la lettura sia andata o meno a buon fine
20: // la uso quindi direttamente come condizione del ciclo
21: // assumo che il file sia corretto ovvero che contenga sempre
22: // una tripletta formata da due unsigned short e un unsigned int
23: // di conseguenza controllo solo se riesce a leggere il primo unsigned short
24: while( fread(&intlp, sizeof(intlp), 1, f) == 1 )
25: {
26: fread(&prefix, sizeof(prefix), 1, f);
27: fread(&number, sizeof(number), 1, f);
28:
29: printf("Numero letto %04u %u %u\n", intlp, prefix, number);
30:
31: }
32:
33: fclose(f);
34:
35: return 0;
36: }
37:
38:
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