Crea sito

10. File in C (seconda parte)

Ebbene si, siamo arrivati alla fine di questo lungo viaggio. Oggi per concludere in bellezza il linguaggio C, impareremo che cosa sono e come si utilizzano i file binari.

 

Cominciamo col dire che un file binario è una combinazione di byte, e può essere utilizzato per archiviare qualsiasi tipo di informazione sopra una qualsiasi memoria.

Andiamo a vedere subito un esempio pratico.

 

#include <stdio.h>

int main(){

FILE *doc;

typedef struct libro{

       char titolo[20];

       char autore[20];

}lib;

lib l1;

 

doc = fopen(“nostro_file.txt”,”rb”);

if(doc==NULL){

   printf(“impossibile aprire il file\n”);

   exit(-1);

}

scanf(“%s %s”, titolo, autore);

 

//scrittura su file

fwrite(titolo,sizeof(char),20,doc);

fwrite(autore,sizeof(char),20,doc);

 

//lettura da file

fread(titolo,sizeof(char),20,doc);

fread(titolo,sizeof(char),20,doc);

 

fclose(doc);

}

 

In questo primo esercizio abbiamo creato una struct e aperto un file binario. Nel caso in cui non si aprisse, usciremmo direttamente dal programma senza fare alcuna operazione.

Successivamente, tramite l’operazione scanf ho richiesto le due stringhe da tastiera e per mezzo del fwrite le ho scritte sul documento. Mentre con fread le leggo e le stampo a schermo. Andiamo a vedere nel dettaglio come funzionano.

 

fwrite(titolo,sizeof(char),20,doc);

fwrite è obbligatorio perchè ci indica che stiamo lavorando con file binari, titolo è la nostra variabile in cui è contenuta la stringa inserita per mezzo dello scanf. sizeof(char) indica il tipo di variabile, possiamo anche sostituire a posto di char il numero di bit occupati. 20 è la dimensione del nostro vettore, nel caso in cui abbiamo un numero, lo indicheremo con 1. doc è il documento su cui stiamo lavorando.

fread lavora alla stessa maniera, ma stampando ciò che gli chiediamo a schermo.

 

Vediamo in modo più specifico quali sono i formati da inserire nell’fopen

 

Formato Descrizione
fopen(“mio_file.txt”,”rb”); Apre un file binario il lettura
fopen(“mio_file.txt”,”wb”); Apre un file binario il scrittura
fopen(“mio_file.txt”,”ab”); Apre un file binario in modalità append
fopen(“mio_file.txt”,”r+b”); Apre un file binario il lettura/scrittura
fopen(“mio_file.txt”,”w+b”); Apre un file binario il lettura/scrittura
fopen(“mio_file.txt”,”a+b”); Apre un file binario in modalità append per lettura e scrittura

 

 

 

Benissimo! Con oggi finiamo in modo definitivo il linguaggio C. Se volete che scriviamo altri articoli e se vi è piaciuto l’argomento scrivetelo qua sotto nei commenti oppure su facebook. Come sempre vi ricordiamo di lasciare un like al blog e di seguirci su twitter e google+.

Condividi con i tuoi amici
Translate »