Controllo dei flussiControlling Streams

fopen restituisce l'indirizzo di un oggetto di tipo FILE.fopen returns the address of an object of type FILE. Si utilizza questo indirizzo come l'argomento stream a diverse funzioni di libreria per eseguire varie operazioni in un file aperto.You use this address as the stream argument to several library functions to perform various operations on an open file. Per un flusso di byte, tutti gli input vengono eseguiti come se ogni carattere fosse letto chiamando fgetc e tutti gli output vengono eseguiti come se ogni carattere fosse scritto chiamando fputc.For a byte stream, all input takes place as if each character is read by calling fgetc, and all output takes place as if each character is written by calling fputc. Per un flusso di caratteri wide, tutti gli input vengono eseguiti come se ogni carattere fosse letto chiamando fgetwc e tutti gli output vengono eseguiti come se ogni carattere fosse scritto chiamando fputwc.For a wide stream, all input takes place as if each character is read by calling fgetwc, and all output takes place as if each character is written by calling fputwc.

È possibile chiudere un file chiamando fclose. Dopo questa operazione l'indirizzo dell'oggetto FILE non sarà valido.You can close a file by calling fclose, after which the address of the FILE object is invalid.

Un oggetto FILE memorizza lo stato di un flusso, tra cui:A FILE object stores the state of a stream, including:

  • Un indicatore di errore impostato su un valore diverso da zero da una funzione che rileva un errore di lettura o di scrittura.An error indicator set nonzero by a function that encounters a read or write error.

  • Un indicatore di fine file impostato su un valore diverso da zero da una funzione che rileva la fine del file durante la lettura.An end-of-file indicator set nonzero by a function that encounters the end of the file while reading.

  • Un indicatore di posizione del file specifica il byte successivo nel flusso da leggere o scrivere, se il file può supportare le richieste di posizionamento.A file-position indicator specifies the next byte in the stream to read or write, if the file can support positioning requests.

  • Uno stato del flusso specifica se il flusso accetta letture e/o scritture e se il flusso è non associato, orientato ai byte o orientato ai caratteri wide.A stream state specifies whether the stream will accept reads and/or writes and whether the stream is unbound, byte oriented, or wide oriented.

  • Uno stato di conversione mantiene lo stato di ogni carattere multibyte generalizzato parzialmente generato o assemblato, nonché ogni stato di spostamento per la sequenza di byte nel file).A conversion state remembers the state of any partly assembled or generated generalized multibyte character, as well as any shift state for the sequence of bytes in the file).

  • Un buffer di file specifica l'indirizzo e la dimensione di un oggetto matrice che le funzioni di libreria possono utilizzare per migliorare le prestazioni delle operazioni di lettura e scrittura nel flusso.A file buffer specifies the address and size of an array object that library functions can use to improve the performance of read and write operations to the stream.

    Non alterare nessun valore memorizzato in un oggetto FILE o in un buffer di file specificato per essere utilizzato con tale oggetto.Do not alter any value stored in a FILE object or in a file buffer that you specify for use with that object. Non è possibile copiare un oggetto FILE e utilizzare in modo portabile l'indirizzo della copia come un argomento stream a una funzione di libreria.You cannot copy a FILE object and portably use the address of the copy as a stream argument to a library function.

Vedere ancheSee Also

File e flussiFiles and Streams