Page 473 - Informatica dalla A a Z
P. 473
I File: La gestione dei file offerta dal linguaggio C++ è molto elementare. Si hanno due tipi
di accesso: uno “normale” ed uno più avanzato (a “basso livello”), in grado di garantire
l’accesso alle funzioni del sistema operativo.
I file sono trattati come un tipo di dati derivato, cioè ottenuto dai tipi elementari esistenti.
Quando si apre e si gestisce un file, si ha a che fare con un puntatore al file (file pointer),
che è una variabile contenente un qualche riferimento univoco al file stesso.
Per gestire i puntatori ai file, occorre dichiarare una variabile come puntatore al tipo deri-
vato “FILE”:
#include <stdio.h>
...
int main ()
{
FILE *pf;
...
}
Nota: ‘FILE’ è scritto in maiuscolo in quanto fa riferimento ad una “macro” che si trova nel
file di intestazione “stdio.h”. Idem per ‘EOF’.
Un’altra macro molto importante è “EOF”, che rappresenta il raggiungimento della fine del
file. Per aprire un file si usa la funzione “fopen()” che restituisce il puntatore al file se tutto
è andato bene, altrimenti restituirà il puntatore ‘NULL’, in caso di fallimento dell’opera-
zione.
FILE *fopen (char *file, char *modalità)
Nota: Abbiamo visto come la funzione fopen() permetta di aprire il file indicato attraverso
la stringa fornita nel primo parametro. Tale stringa può contenere anche le informazioni
sul percorso necessario a raggiungerlo.
Il primo parametro della funzione fopen() è un puntatore a caratteri che contiene il nome
del file da aprire. Come secondo parametro del comando è possibile inserire la “modalità”
di apertura del file, come ad esempio ‘r’ per aprire il file in sola lettura.
469