Aggiunte varie.
[gapil.git] / filestd.tex
index 79931fc4a59b10e8ab60bf96df807c89098f30fe..c51220daac6bde26ed2437f1e8bb2f3f2740a492 100644 (file)
@@ -88,19 +88,19 @@ rappresentano i canali standard di input/output prestabiliti; anche
 questi tre stream sono identificabili attraverso dei nomi simbolici
 definiti nell'header \file{stdio.h} che sono:
 
-\begin{itemize}
-\item \var{FILE *stdin} Lo \textit{standard input} cioè lo stream da
+\begin{basedescript}{\desclabelwidth{3.0cm}}
+\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 \var{FILE *stdout} Lo \textit{standard input} cioè lo stream su
+\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 \var{FILE *stderr} Lo \textit{standard input} cioè lo stream su
+\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}
+\end{basedescript}
 
 Nelle \acr{glibc} \var{stdin}, \var{stdout} e \var{stderr} sono
 effettivamente tre variabili di tipo \type{FILE *} che possono essere
@@ -253,6 +253,7 @@ possono essere aperti con le funzioni delle librerie standard del C.
 
 \begin{table}[htb]
   \centering
+  \footnotesize
   \begin{tabular}[c]{|l|p{8cm}|}
     \hline
     \textbf{Valore} & \textbf{Significato}\\
@@ -275,6 +276,9 @@ possono essere aperti con le funzioni delle librerie standard del C.
     \texttt{a+} & Il file viene aperto (o creato se non esiste) in
     \textit{append mode}, l'accesso viene posto in lettura e scrittura. \\
     \hline
+    \texttt{b} & specifica che il file è binario, non ha alcun effetto. \\
+    \texttt{x} & la apertura fallisce se il file esiste già. \\
+    \hline
   \end{tabular}
   \caption{Modalità di apertura di uno stream dello standard ANSI C che
     sono sempre presenti in qualunque sistema POSIX}
@@ -961,6 +965,7 @@ degli specificatori di conversione (riportati in \ntab) che la conclude.
 
 \begin{table}[htb]
   \centering
+  \footnotesize
   \begin{tabular}[c]{|l|l|p{10cm}|}
     \hline
     \textbf{Valore} & \textbf{Tipo} & \textbf{Significato} \\
@@ -1029,6 +1034,7 @@ questo ordine:
 
 \begin{table}[htb]
   \centering
+  \footnotesize
   \begin{tabular}[c]{|l|p{10cm}|}
     \hline
     \textbf{Valore} & \textbf{Significato}\\
@@ -1051,6 +1057,7 @@ di \func{printf} e nella documentazione delle \acr{glibc}.
 
 \begin{table}[htb]
   \centering
+  \footnotesize
   \begin{tabular}[c]{|l|p{10cm}|}
     \hline
     \textbf{Valore} & \textbf{Significato} \\
@@ -1342,8 +1349,10 @@ puntatore allo stream; questo pu
 \end{functions}
 \noindent che permettono di ottenere questa informazione.
 
-Altre due funzioni, \func{\_\_freading} e \func{\_\_fwriting} servono ad un
-uso ancora più specialistico, il loro prototipo è: 
+La conoscenza dell'ultima operazione effettuata su uno stream aperto è utile
+in quanto permette di trarre conclusioni sullo stato del buffer e del suo
+contenuto. Altre due funzioni, \func{\_\_freading} e \func{\_\_fwriting}
+servono a tale scopo, il loro prototipo è:
 \begin{functions}
   \headdecl{stdio\_ext.h}
   \funcdecl{int \_\_freading(FILE *stream)}
@@ -1355,16 +1364,12 @@ uso ancora pi
   scrittura o se l'ultima operazione è stata di scrittura.
 \end{functions}
 
-Le due funzioni hanno lo scopo di determinare di che tipo è stata l'ultima
+Le due funzioni permettono di determinare di che tipo è stata l'ultima
 operazione eseguita su uno stream aperto in lettura/scrittura; ovviamente se
 uno stream è aperto in sola lettura (o sola scrittura) la modalità dell'ultima
 operazione è sempre determinata; l'unica ambiguità è quando non sono state
-ancora eseguite operazioni, in questo caso le funzioni rispondono come se
-una operazione ci fosse comunque stata.
-
-La conoscenza dell'ultima operazione effettuata su uno stream aperto in
-lettura/scrittura è utile in quanto permette di trarre conclusioni sullo stato
-del buffer e del suo contenuto.
+ancora eseguite operazioni, in questo caso le funzioni rispondono come se una
+operazione ci fosse comunque stata.
 
 
 \subsection{Il controllo della bufferizzazione}
@@ -1423,6 +1428,7 @@ bufferizzata i valori di \param{buf} e \param{size} vengono sempre ignorati.
 
 \begin{table}[htb]
   \centering
+  \footnotesize
     \begin{tabular}[c]{|l|l|}
       \hline
       \textbf{Valore} & \textbf{Modalità} \\