X-Git-Url: https://gapil.gnulinux.it/gitweb/?p=gapil.git;a=blobdiff_plain;f=filestd.tex;fp=filestd.tex;h=9d1c6892b9318da5c6782728bf4a4a039b6481cb;hp=ab03a980025d61fe3b9d6f746b40716bd0e625f5;hb=922de35645e21550b70e2e5fe5ced103a0d2e0b4;hpb=4cbeb0e4fa1d31da798c8e68108eb6785586ab34 diff --git a/filestd.tex b/filestd.tex index ab03a98..9d1c689 100644 --- a/filestd.tex +++ b/filestd.tex @@ -13,10 +13,11 @@ \label{cha:files_std_interface} Esamineremo in questo capitolo l'interfaccia standard ANSI C per i file, -quella che viene comunemente detta interfaccia degli \textit{stream}. Dopo -una breve sezione introduttiva tratteremo le funzioni base per la gestione -dell'input/output, mentre tratteremo le caratteristiche più avanzate -dell'interfaccia nell'ultima sezione. +quella che viene comunemente detta interfaccia dei \textit{file stream} o +anche più brevemente degli \textit{stream}. Dopo una breve sezione +introduttiva tratteremo le funzioni base per la gestione dell'input/output, +mentre tratteremo le caratteristiche più avanzate dell'interfaccia nell'ultima +sezione. \section{Introduzione} @@ -24,7 +25,7 @@ dell'interfaccia nell'ultima sezione. Come visto in cap.~\ref{cha:file_unix_interface} le operazioni di I/O sui file sono gestibili a basso livello con l'interfaccia standard unix, che ricorre -direttamente alle system call messe a disposizione dal kernel. +direttamente alle \textit{system call} messe a disposizione dal kernel. Questa interfaccia però non provvede le funzionalità previste dallo standard ANSI C, che invece sono realizzate attraverso opportune funzioni di libreria, @@ -104,20 +105,21 @@ questi tre stream sono identificabili attraverso dei nomi simbolici definiti nell'header \file{stdio.h} che sono: \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 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 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. +\item[\var{FILE *stdin}] Lo \textit{standard input} cioè il \textit{file + 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 output} cioè il \textit{file + 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 error} cioè il \textit{file + 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{basedescript} -Nelle \acr{glibc} \var{stdin}, \var{stdout} e \var{stderr} sono effettivamente +Nella \acr{glibc} \var{stdin}, \var{stdout} e \var{stderr} sono effettivamente tre variabili di tipo \type{FILE}\texttt{ *} che possono essere usate come tutte le altre, ad esempio si può effettuare una redirezione dell'output di un programma con il semplice codice: \includecodesnip{listati/redir_stdout.c} ma