Esamineremo in questa sezione l'interfaccia per i file stream, le modalità per
crearli, e le funzioni disponibili per leggere, scrivere e compiere le varie
operazioni connesse all'uso dei file. L'interfaccia è accessibile includendo
-l'header file \texttt{stdio.h}.
+l'header file \file{stdio.h}.
Per ragioni storiche la struttura di dati che rappresenta un stream è stata
chiamata \type{FILE}, questi oggetti sono creati dalle funzioni di libreria e
è diventato sinonimo di stream).
\subsection{Gli stream standard}
-\label{sec:file_stdfiles}
+\label{sec:file_std_stream}
-Quando un programma viene lanciato il processo ha sempre tre stream
-predefiniti aperti, che rappresentano i canali standard di input/output
-prestabiliti per il processo; anche questi tre stream sono definiti
-nell'header \file{stdio.h} e sono:
+
+Ai tre file standard (vedi \secref{sec:file_std_descr}) aperti per ogni
+processo, corrispondono altrettanti stream predefiniti per ogni processo, che
+rappresentano i canali standard di input/output prestabiliti; anche questi
+tre stream sono definiti nell'header \file{stdio.h} e sono:
\begin{itemize}
-\item \texttt{FILE * stdin} Lo \textit{standard input} cioè lo stream da cui
+\item \var{FILE * stdin} Lo \textit{standard input} cioè lo stream da cui
il processo riceve ordinariamente i dati in ingresso. Normalmente è associato
dalla shell all'input del terminale e prende i caratteri dalla tastiera.
-\item \texttt{FILE * stdout} Lo \textit{standard input} cioè lo stream su cui
+\item \var{FILE * stdout} Lo \textit{standard input} cioè lo stream su cui
il processo invia ordinariamente i dati in uscita. Normalmente è associato
dalla shell all'output del terminale e scrive sullo schermo.
-\item \texttt{FILE * stderr} Lo \textit{standard input} cioè lo stream su cui
+\item \var{FILE * stderr} Lo \textit{standard input} cioè lo stream su cui
il processo è supposto inviare i messaggi di errore. Normalmente anch'esso
è associato dalla shell all'output del terminale e scrive sullo schermo.
\end{itemize}