Linguaggio C - Files

<<   17 / 17   >>

Quesito

Scrivi il codice che acquisisce la seconda metà di un file binario contenente N bytes.
La lettura viene fatta un byte alla volta.

Risposta

FILE *fp;
char c;

fp=fopen("miofile.bin","rb");

fseek(fp,0,2);
nb = ftell(fp)/2;  //valuto la metà dei byte contenuti nel file
fseek(fp,-nb,1);   //riporto il puntatore a metà del file

for(i=0;i<nb;i++) {
 fread(&c,1,1,fp);
 ... //eventualmente visualizzo il dato letto
}

fclose(fp);