26 febbraio 2013Ciao ragazzi, in questa decima parte del corso completo di C che si tiene su questo sito voglio parlarvi dei file binari, poichè nella parte precedente vi ho parlato dei file di testo.
Un file binario è una mera sequenza di byte, che può essere usato per archiviare sulla memoria di massa qualsiasi tipo di informazione, sia essa un'immagine, un file audio, un numero, ecc... Bisogna però ricordare che input e output avvengono sotto forma di una sequenza di byte, e che la fine del file è rilevata sempre in base all'esito delle operazioni di lettura, in quanto non esiste un EOF, perchè il file binario non è una sequenza di caratteri. FWRITE() Per poter scrivere su un file binario, si utilizza la funzione fwrite, così definita: int fwrite(addr, int dim, int n, FILE *f); In sostanza, la fwrite():
Ecco un esempio di fwrite() usata per scrivere una semplice sequenza di numeri presente all'interno di un array: FREAD() La funzione fread() serve invece per leggere dati da un file binario e la sua struttura è questa: int fread(addr, int dim, int n, FILE *f); In sostanza, la fread():
Per esempio, per controllare velocemente se l'esercizio di prima è andato a buon fine, si può integrare il codice in questo modo: PROGRAMMA PIU' CORPOSO
Proviamo ora a fare l'esercizio che nella scorsa lezione abbiamo fatto con i file di testo, ma utilizziamo questa volta i file binari. Le differenze col precedente programma dove abbiamo lavorato su file di testo, la si nota ovviamente durante l'utilizzo di fwrite e fread, che ora vi spiego:
Se quando lanciate questo programma usate i dati che uso io nell'immagine qui sotto, vi dovrebbe venire questo come risultato: Concludo questa lezione dicendo che paradossalmente (credetemi, non prendetemi per matto!) lavorare con i file binari è molto più semplice e rapido che lavorare con i file di testo, e infatti la differenza di codice nel momento di scrittura o lettura da file la potete benissimo notare confrontando questa lezione e quella precedente! Tuttavia il file di testo offre come vantaggio la possibilità di vedere cosa c'è scritto sul file, quindi permette una facile gestione degli errori. Vi lascio qui da scaricare il codice dell'ultimo esercizio corposo: ![]()
Se volete esercitarvi con degli esercizi, andate qui: Esercizi sui file.
Pumo Ciao a tutti, Pumo Matteo |
Social Aiutate a diffondere il sito, cliccando qui Segui @WInformatic Autore Salve a tutti! Mi chiamo Pumo Matteo. Per saperne di più: Biografia Categorie
|