File
File su disco: un insieme di dati sul disco cui è associato un nome
- persistenza, i dati vivono oltre il tempo di elaborazione
- grande capacità, dipende solo dalla capienza del disco
- condivisibilità, più applicazioni/utenti possono accedere agli stessi file
I file su disco hanno due attributi: un contenuto (i dati) e un nome (del file)
- contenuto: qualsiasi (compito d’esame, album fotografico, video, foglio di calcolo, programma C)
- operazioni: creazione, cancellazione, cambiamento del nome, cambiamento del contenuto, lettura del contenuto
File e stream
- output stream: una sequenza di dati da un programma ad un dispositivo d’uscita (monitor, file, casse acustiche, connessione di rete)
- input stream: una sequenza di dati da un dispositivo d’ingresso ad un programma (file, tastiera, connessione di rete)
C considera ogni file come una sequenza di byte, un file termina con l’end-of-file marker
Uno stream viene creato quando un file viene aperto: fornisce un *canale di comunicazione tra i file e i programmi
Quando si apre un file viene restituito un puntatore alla struttura FILE
Esempi di puntatori a file:
- stdin: standard input (tastiera)
- stdout: standard output (schermo)
- stderr: standard error (schermo)
FILE structure
- File descriptor: indice nell’array del sistema operativo chiamato tabella dei file aperti