-chiamata \texttt{FILE}, dato che le funzioni di libreria usano sempre come
-parametri oggetti di tipo \texttt{FILE *} alle volte si usa il termine
-puntatore a file come sinonimo di stream.
-
-
-
+chiamata \texttt{FILE}, questi oggetti sono creati dalle funzioni di libreria
+e contengono tutte le informazioni necessarie a gestire le operazioni sugli
+stream, come la posizione corrente, lo stato del buffer e degli indicatori di
+stato e di fine del file. Per questo motivo gli utenti non devono mai
+utilizzare direttamente o allocare queste strutture, ma usare sempre puntatori
+del tipo \texttt{FILE *} (tanto che in certi caso il termine di puntatore a
+file è diventato sinonimo di stream).
+
+\subsection{Gli stream standard}
+\label{sec:file_stream_std}
+
+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 \texttt{stdio.h} e sono:
+
+\begin{itemize}
+\item \texttt{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
+ 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
+ il processo è supposto inviare i messaaggi di errore. Normalmente anch'esso
+ è associato dalla shell all'output del terminale e scrive sullo schermo.
+\end{itemize}
+
+In linux