next up previous contents
Next: eliminazione Up: Funzioni su directory Previous: creazione   Indice

apertura, lettura e chiusura

$ \texttt{DIR *opendir(const char *}$pathname $ \texttt{);}$
$ \texttt{struct dirent *readdir(DIR *}$dp $ \texttt{);}$
$ \texttt{int closedir(DIR *}$dp $ \texttt{);}$

Nelle funzioni precedenti si è visto come sia possibile leggere e scrivere file in un directory, ma non come reperire informazioni dal directory stesso. Per questo scopo il sistema operativo mette a disposizione $ \texttt{opendir()}$, $ \texttt{readdir()}$ e $ \texttt{closedir()}$.

Le operazioni di apertura, lettura e chiusura di un directory, interagiscono tutte con un puntatore ad una struttura $ \texttt{DIR}$ che ha lo scopo di mantenere le informazioni sul directory aperto. La caratteristica principale di questa struttura è di non richiedere di essere esaminata dall'utente, ma egli deve esclusivamente fornirla come argomento alle funzioni che la richiedono.

Il significato di queste tre operazioni è facilmente intuibile, quindi non viene approfondito in questa sede. Un'unica nota per descrivere la struttura $ \texttt{dirent}$: sebbene non esista uno standard per l'implementazione di questa struttura, essa deve contenere almeno le informazioni sulla posizione e sul nome del file letto ogni volta da $ \texttt{readdir()}$.



2004-11-19