X-Git-Url: https://gapil.gnulinux.it/gitweb/?p=gapil.git;a=blobdiff_plain;f=filestd.tex;h=aa4d1ccfa3e1475b45e4fd019cca5e5acad96e7d;hp=5e6cdecf0f569fa061ca00e40958b9d2cff8343c;hb=01e363536700694f191264cf2c2955b31116d1e3;hpb=117a739ee3013118cfa864628d4b41288a9d1dc9 diff --git a/filestd.tex b/filestd.tex index 5e6cdec..aa4d1cc 100644 --- a/filestd.tex +++ b/filestd.tex @@ -26,7 +26,7 @@ costituire il nucleo\footnote{queste funzioni sono state implementate la prima \subsection{I \textit{file stream}} \label{sec:file_stream} -Come più volte ribadito l'interfaccia dei file descriptor è una interfaccia di +Come più volte ribadito l'interfaccia dei file descriptor è un'interfaccia di basso livello, che non provvede nessuna forma di formattazione dei dati e nessuna forma di bufferizzazione per ottimizzare le operazioni di I/O. @@ -92,10 +92,10 @@ definiti nell'header \file{stdio.h} che sono: 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 output} 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 error} 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. @@ -121,7 +121,7 @@ La bufferizzazione 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 +automaticamente dalla libreria, ma costituisce anche uno degli aspetti più comunemente fraintesi, in particolare per quello che riguarda l'aspetto della scrittura dei dati sul file. @@ -280,7 +280,7 @@ possono essere aperti con le funzioni delle librerie standard del C. \hline \end{tabular} \caption{Modalità di apertura di uno stream dello standard ANSI C che - sono sempre presenti in qualunque sistema POSIX} + sono sempre presenti in qualunque sistema POSIX.} \label{tab:file_fopen_mode} \end{table} @@ -321,7 +321,7 @@ valore \macro{S\_IRUSR|S\_IWUSR|S\_IRGRP|S\_IWGRP|S\_IROTH|S\_IWOTH} processo (si veda \secref{sec:file_umask}). In caso di file aperti in lettura e scrittura occorre ricordarsi che c'è -di messo una bufferizzazione; per questo motivo lo standard ANSI C +di mezzo una bufferizzazione; per questo motivo lo standard ANSI C richiede che ci sia un'operazione di posizionamento fra un'operazione di output ed una di input o viceversa (eccetto il caso in cui l'input ha incontrato la fine del file), altrimenti una lettura può ritornare anche @@ -601,7 +601,7 @@ viene implementata con una macro, per cui occorre stare attenti a cosa le si passa come argomento, infatti \param{stream} può essere valutato più volte nell'esecuzione, e non viene passato in copia con il meccanismo visto in \secref{sec:proc_var_passing}; per questo motivo se -si passa una espressione si possono avere effetti indesiderati. +si passa un'espressione si possono avere effetti indesiderati. Invece \func{fgetc} è assicurata essere sempre una funzione, per questo motivo la sua esecuzione normalmente è più lenta per via dell'overhead @@ -1155,7 +1155,7 @@ Entrambe le funzioni prendono come parametro \param{strptr} che deve essere l'indirizzo di un puntatore ad una stringa di caratteri, in cui verrà restituito (si ricordi quanto detto in \secref{sec:proc_var_passing} a proposito dei \textit{value result argument}) l'indirizzo della stringa -allogata automaticamente dalle funzioni. Occorre inoltre ricordarsi di +allocata automaticamente dalle funzioni. Occorre inoltre ricordarsi di invocare \func{free} per liberare detto puntatore quando la stringa non serve più, onde evitare memory leak.