26 febbraio 2013Ciao ragazzi,
in questa nona parte del corso completo di C tenuto su questo sito, vi voglio parlare dei file di testo; imparerete a crearli, riempirli e gestirli attraverso il C. I file sono astrazioni fornite dal sistema operativo, che permettono di memorizzare grandi (e potenzialmente illimitate) quantità di dati e sono ad accesso sequenziale, nel senso che all'inizio la "testina" di lettura/scrittura si trova all'inizio di questo file e dopo ogni operazione di lettura o scrittura si sposta più avanti, fino a che non incontra l'End Of File (EOF). Il tipo FILE nel C è definito nella libreria <stdio.h> e il programmatore può agire sui FILE unicamente usando le funzioni definite in questa libreria; nei propri programmi, infatti, si definiscono e usano unicamente dei puntatori a FILE. Per aprire un FILE si utilizza la seguente funzione: FILE* fopen(char fname[], char modo[]) Questa funzione apre un file di nome fname (potrebbe essere necessario includere il percorso di questo file), in base alle modalità specificate in modo[]. La fopen() restituisce NULL nel caso in cui l'apertura del file non sia andata a buon fine. In modo[] si possono scrivere questi valori, comprensivi delle virgolette:
Inoltre queste lettere possono essere seguite da:
Infine, per chiudere un FILE bisogna utilizzare questa funzione: int fclose(FILE*); La funzione fclose() restituisce EOF se c'è stato un errore, o 0 se tutto è andato a buon fine. Ora vi mostro un esempio di apertura e chiusura di un file:
FILE DI TESTO
I file possono essere o di testo o binari; vediamo adesso le differenze, partendo ad esaminare i file di testo. Un file di testo contiene sequenze di caratteri ed è molto più semplice e utilizzato di un file binario, in quanto permette la visione di quanto scritto su di esso. Nei file di testo:
Per esempio, i canali di input e output standard non sono altro che file di testo già aperti:
Le principali funzioni per agire sui file di testo ricordano quelle già viste, e sono la fprintf() e la fscanf(); ecco qui un esempio di scrittura su file (semplice, semplice): Ecco invece adesso un esempio più corposo di lettura da file, combinando questo alle strutture viste precedentemente; supponiamo di avere questi dati:
Questo è il risultato se viene lanciato il programma con i dati sopra:
Si comincia già a fare sul serio e le cose diventano sempre più complicate! Esercitatevi facendo tante prove diverse sui file di testo; la prossima lezione è sui file binari.
Vi lascio qui da scaricare il programma finale di questa lezione (compreso il file di testo): ![]()
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
|