+La bufferizzazione è una delle caratteristiche principali della interfaccia
+degli stream; lo scopo è quello di ridurre al minimo il numero di system call
+(\func{read} o \func{write}) eseguite nelle operazioni di input/output. Questa
+funzionalità è assicurata automaticamente dalla libreria, ma costituisce anche
+una degli aspetti più comunemente fraintesi.
+
+I caratteri che vengono scritti su uno stream normalmente vengono accumulati e
+poi trasmessi in blocco in maniera asincrona, e molto spesso lo stesso avviene
+anche per la lettura (cioè dal file viene letto un blocco di dati). Se si sta
+facendo dell'input/output interattivo però bisogna tenere presente le
+caratteristiche con cui viene effettuata la bufferizzazione, pena il rischio
+di non vedere apparire l'output o di ottenere degli effetti indesiderati nella
+visualizzazione.
+
+Per questo motivo, la libreria definisce tre distinte modalità di
+bufferizzazione, adatte a situazioni diverse, di cui occorre essere ben
+consapevoli:
+\begin{itemize}
+\item \textit{unbuffered}: in questa modalità i caratteri non sono
+ bufferizzati e vengono trasmessi individualmente al file non appena
+ possibile (effettuando immediatamente una \func{write}).
+\item \textit{line unbuffered}: in questo caso i caratteri vengono trasmessi
+ al file in blocco ogni volta che viene incontrato un carattere di
+ \textit{newline} (il carattere ASCII \verb|\n|).
+\item
+\end{itemize}