effettivamente tre variabili di tipo \ctyp{FILE *} che possono essere
usate come tutte le altre, ad esempio si può effettuare una redirezione
dell'output di un programma con il semplice codice:
-\begin{lstlisting}[labelstep=0,frame=,indent=1cm]{}
+\begin{lstlisting}[stepnumber=0,frame=]{}
fclose(stdout);
stdout = fopen("standard-output-file", "w");
\end{lstlisting}
tipico è quello in cui si salva un vettore (o un certo numero dei suoi
elementi) con una chiamata del tipo:
%\footnotesize
-\begin{lstlisting}[labelstep=0,frame=,indent=1cm]{}
+\begin{lstlisting}[stepnumber=0,frame=]{}
int WriteVect(FILE *stream, double *vec, size_t nelem)
{
int size, nread;
caso è invece quello in cui si vuole trasferire su file una struttura;
si avrà allora una chiamata tipo:
%\footnotesize
-\begin{lstlisting}[labelstep=0,frame=,indent=1cm]{}
+\begin{lstlisting}[stepnumber=0,frame=]{}
struct histogram {
int nbins;
double max, min;
necessaria a contenere la linea. In tutti i casi si ottiene dalla funzione un
puntatore all'inizio del testo della linea letta. Un esempio di codice può
essere il seguente:
-\begin{lstlisting}[labelstep=0,frame=,indent=1cm]{}
+\begin{lstlisting}[stepnumber=0,frame=]{}
size_t n = 0;
char *ptr = NULL;
int nread;