Passata generale di ispell
[gapil.git] / filestd.tex
index aa558786b3a12dbe192511402c8ce09484ddd4cd..297d2a805c879c6dccc24b457b34f2b0bf83930b 100644 (file)
@@ -4,39 +4,40 @@
 %
 % Questa va per ultima. Va bene che e` la più usata, ma è basata sulle altre
 %
-\section{I file stream e gli oggetti \texttt{FILE}}
+\section{I file stream e gli oggetti \type{FILE}}
 \label{sec:file_stream}
 
 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 \texttt{FILE}, questi oggetti sono creati dalle funzioni di libreria
-contengono tutte le informazioni necessarie a gestire le operazioni sugli
+chiamata \type{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). 
+del tipo \type{FILE *} (tanto che in certi casi il termine di puntatore a file
+è 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 \texttt{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}
@@ -45,30 +46,41 @@ nell'header \texttt{stdio.h} e sono:
 \subsection{La bufferizzazione}
 \label{sec:file_buffering}
 
+
+
 \section{Funzioni base}
 \label{sec:file_ansi_base_func}
 
+
 \subsection{Apertura di uno stream}
 \label{sec:file_fopen}
 
+
 \subsection{Lettura e scrittura su uno stream}
 \label{sec:file_io}
 
+
 \subsection{Posizionamento su uno stream}
 \label{sec:file_fseek}
 
+
 \subsection{Input/output binario}
 \label{sec:file_binary_io}
 
+
 \subsection{Input/output di linea}
 \label{sec:file_line_io}
 
+
 \subsection{Input/output formattato}
 \label{sec:file_formatted_io}
 
+
 \subsection{Chiusura di uno stream}
 \label{sec:file_fclose}
 
+
+
 \section{Funzioni avanzate}
 \label{sec:file_stream_adv_func}
 
@@ -76,9 +88,11 @@ nell'header \texttt{stdio.h} e sono:
 \subsection{Dettagli dell'implementazione}
 \label{sec:file_stream_details}
 
+
 \subsection{File temporanei}
 \label{sec:file_temp_file}
 
+
 \subsection{Efficienza}
 \label{sec:file_stream_efficiency}