-->
  • Home
    • WorldInformatic's history
  • Operative Systems
    • Mac
    • Windows
  • Some guide
  • Programming language
    • C
    • Java
    • HTML
  • Smartphone
    • Apple iOS
    • Android
  • Games
    • Smartphone Games
    • Web Games
    • PC e Console
  • News
    • Apple News
    • Android/Google News
  • Enjoy!
  • Contact us

C: corso completo

- Parte 01: Introduzione
- Parte 02: Fasi, variabili, operatori e software
- Parte 03: Tipi di dato, direttive e 1° programma
- Parte 04: Tipi di formato, printf e scanf
- Parte 05: Istruzioni condizionali e di iterazione
- Parte 06: Funzioni e progetti su più file
- Parte 07: Puntatori e passaggio dei parametri
- Parte 08: Array, stringhe e strutture
- Parte 09: Gestione file: file di testo
- Parte 10: Gestione file: file binari
- Parte 11: Allocazione dinamica della memoria
- Parte 12: Creare ed utilizzare le liste nel C
- Parte 13: Ordinamento di array e strutture
- Parte 14: Esercizi sul linguaggio C

C: corso completo

26 febbraio 2013

Immagine
Ciao 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:
  • "r": apre il file in modalità di sola lettura (read);
  • "w": apre il file in modalità di sola scrittura (write);
  • "a": apre il file settando la testina in fondo al file (append).

Inoltre queste lettere possono essere seguite da: 
  • "b": apre un file binario (esempio: fopen("nomeFile.dat", "rb"); );
  • "t": apre un file di testo (non è obbligatorio);
  • "+": apre un file con possibilità di modifica (opzionale).

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:
Immagine
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:
  • Esiste il concetto di riga e fine riga (lo "\n" ne identifica la fine);
  • Certi caratteri sono stampabili a video;
  • La fine del file è caratterizzata dal carattere EOF (che varia in base al sistema operativo).

Per esempio, i canali di input e output standard non sono altro che file di testo già aperti:
  • stdin è un file di testo aperto in lettura;
  • stdout è un file di testo aperto in scrittura;

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):
Immagine
Ecco invece adesso un esempio più corposo di lettura da file, combinando questo alle strutture viste precedentemente; supponiamo di avere questi dati: 
NEL FILE DI TESTO
Pumo Matteo 20 1993
Pinco Pallo 18 1995
Asdrubale Aldrobando 19 1994
Genoveffa Cicsy 22 1991
Pimpa Rossa 14 1999
NEL FILE MAIN.C
Immagine
Immagine
Questo è il risultato se viene lanciato il programma con i dati sopra:
Immagine
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):
programmacorposotesto.zip
File Size: 2 kb
File Type: zip
Download File

Se volete esercitarvi con degli esercizi, andate qui: Esercizi sui file.

                                                                                                                    Pumo
Ciao a tutti,
Pumo Matteo


Tweet
    Condividi



comments powered by Disqus

Social
Aiutate a diffondere il sito, cliccando qui




Segui @WInformatic

Autore
Salve a tutti!
Mi chiamo Pumo Matteo.
Per saperne di più: Biografia


Categorie
  • -> Mac
  • -> Windows
  • -> Apple iOS
  • -> Android
  • -> Programmazione
  • -> Guide varie
  • -> Hardware
  • -> Games
  • -> News



Social Network

Follow us on Social Network:

Topics

Windows
Smartphone games

If you want, make a donation

TO CONTACT US, USING THE PAGE IN THE TOP

Author

Immagine
I'm Matteo Pumo. University of Bologna - Faculty of computer Engeneering.
- My Biography

Italian version of site


Site made by Pumo Matteo © Copyright 2013 - Bologna, Italy - All rights reserved - It's prohibit all reproduction form, partial or total, of materials.