Riassunti VERIFICATO

I file

Politecnico di Milano ingegneria gestionale 2022
16 visualizzazioni
24 download
Nessun voto ancora
Condividi: WhatsApp Telegram
Anteprima pagina 1 — I file Anteprima pagina 2 — I file

Di cosa parla

  • Introduzione ai File:
    • I file sono archivi di memoria permanente utilizzati per salvare dati (input e output) per un riutilizzo futuro.
    • Sono gestiti dal sistema operativo attraverso un file system e funzioni dedicate accessibili tramite la libreria <stdio.h>.
    • In C, i file sono visti come strutture dati sequenziali, lette e scritte come uno stream di byte (file binari o di testo).
    • Le periferiche (stdin, stdout, stderr) sono trattate come file.
  • Operazioni Fondamentali sui File:
    • Per essere utilizzato, un file deve essere aperto e successivamente chiuso.
    • La variabile che consente la comunicazione tra programma e file è FILE* (puntatore a una struttura).
    • Sequenza Operativa:
      • Dichiarazione di FILE*.
      • Apertura del file con fopen().
      • Esecuzione delle operazioni di lettura/scrittura.
      • Chiusura del file con fclose().
  • Descrittore di File:
    • È una struttura dati di tipo struct FILE, un indice in una tabella del sistema operativo che associa un blocco di controllo del file (FCB) al programma.
    • Contiene informazioni come la modalità d'uso ('w' per write, 'r' per read, 'a' per append), la posizione della testina, la dimensione del file e la posizione di fine documento (EOF), ed eventuali errori.
    • fopen() restituisce un puntatore a questo descrittore (o NULL in caso di errore), e fclose() restituisce 0 (successo) o EOF (errore).
  • Gestione Errori e Stato del File:
    • ferror(FILE *fp): restituisce 0 se nessun errore, altrimenti un codice specifico.
    • feof(FILE *fp): restituisce 0 se la testina non è alla fine del file.
  • Modalità di Apertura:
    • 'r': apre in modalità lettura.
    • 'w': apre in modalità scrittura (crea o tronca file esistente).
    • 'a': apre in modalità append (crea o aggiunge alla fine di un file esistente).
    • Per file binari, si aggiunge la 'b' (es. 'rb', 'wb', 'ab').
    • Esistono anche modalità miste come 'r+', 'w+', 'a+' per lettura e scrittura combinate.
  • Funzioni di I/O (File di Testo):
    • Formattate: fprintf(FILE *fp, ...) per scrivere, fscanf(FILE *fp, ...) per leggere.
    • Per Carattere: fgetc(FILE *fp) per leggere, fputc(int c, FILE *fp) per scrivere.
    • Per Linea: fgets(char *s, int n, FILE *fp) per leggere una riga, fputs(char *s, FILE *fp) per scrivere una riga.
  • Funzioni di I/O (Blocchi di Byte):
    • fread(void *buffer, size_t size, size_t count, FILE *stream): legge un blocco di dati.
    • fwrite(const void *buffer, size_t size, size_t count, FILE *stream): scrive un blocco di dati.
  • Accesso Diretto a Byte:
    • fseek(FILE *fp, long offset, int refpoint): imposta la posizione della testina. refpoint può essere SEEK_SET (inizio), SEEK_CUR (corrente), SEEK_END (fine).
    • ftell(FILE *fp): restituisce la posizione corrente della testina rispetto all'inizio.
    • rewind(FILE *fp): riavvolge il file e riporta la testina all'inizio.

Altri appunti di INFORMATICA A

Condividi questi appunti

WhatsApp Telegram