File e flussiFiles and Streams

Un programma comunica con l'ambiente di destinazione tramite la lettura e scrittura dei file.A program communicates with the target environment by reading and writing files. Un file può essere:A file can be:

  • Un set di dati che è possibile leggere e scrivere più volte.A data set that you can read and write repeatedly.

  • Un flusso di byte generati da un programma (ad esempio una pipeline).A stream of bytes generated by a program (such as a pipeline).

  • Un flusso di byte ricevuti da un dispositivo periferico o inviati a un dispositivo periferico.A stream of bytes received from or sent to a peripheral device.

    Gli ultimi due elementi sono file interattivi.The last two items are interactive files. I file sono in genere i mezzi principali tramite i quali interagire con un programma.Files are typically the principal means by which to interact with a program. Manipolare tutti questi tipi di file allo stesso modo, chiamando funzioni di libreria.You manipulate all these kinds of files in much the same way — by calling library functions. Includere l'intestazione standard STDIO.H per dichiarare la maggior parte di queste funzioni.You include the standard header STDIO.H to declare most of these functions.

    Prima di poter eseguire molte delle operazioni in un file, il file deve essere aperto.Before you can perform many of the operations on a file, the file must be opened. Aprire un file comporta la sua associazione a un flusso, una struttura di dati all'interno della libreria standard C che maschera molte differenze tra file di vari tipi.Opening a file associates it with a stream, a data structure within the Standard C Library that glosses over many differences among files of various kinds. La libreria mantiene lo stato di ogni flusso in un oggetto di tipo FILE.The library maintains the state of each stream in an object of type FILE.

    L'ambiente di destinazione apre tre file prima dell'avvio del programma.The target environment opens three files before program startup. È possibile aprire un file chiamando la funzione di libreria fopen, _wfopen con due argomenti.You can open a file by calling the library function fopen, _wfopen with two arguments. (La funzione fopen è deprecata, al suo posto usare fopen_s, _wfopen_s). Il primo argomento è un nome file.(The fopen function has been deprecated, use fopen_s, _wfopen_s instead.) The first argument is a filename. Il secondo argomento è una stringa C che specifica:The second argument is a C string that specifies:

  • Se si desidera leggere i dati dal file o scrivere dati nel file o entrambe le cose.Whether you intend to read data from the file or write data to it or both.

  • Se si desidera generare nuovi contenuti per il file (o creare un file se in precedenza non esisteva) oppure lasciare inalterato il contenuto esistente.Whether you intend to generate new contents for the file (or create a file if it did not previously exist) or leave the existing contents in place.

  • Mentre scrivere in un file può alterare il contenuto esistente oppure potrebbe semplicemente aggiungere byte alla fine del file.Whether writes to a file can alter existing contents or should only append bytes at the end of the file.

  • Se si desidera modificare un flusso di testo o un flusso binario.Whether you want to manipulate a text stream or a binary stream.

    Una volta aperto il file con successo, è possibile determinare se il flusso è orientato ai byte (un flusso di byte) o orientato ai caratteri wide (un flusso di caratteri wide).Once the file is successfully opened, you can then determine whether the stream is byte oriented (a byte stream) or wide oriented (a wide stream). Un flusso inizialmente è privo di associazione.A stream is initially unbound. Chiamare alcune funzioni in modo che operino sul flusso lo rendono orientato ai byte, mentre altre funzioni lo rendono orientato ai caratteri wide.Calling certain functions to operate on the stream makes it byte oriented, while certain other functions make it wide oriented. Una volta stabilito, un flusso mantiene il proprio orientamento fino alla chiusura da parte di una chiamata a fclose o a freopen.Once established, a stream maintains its orientation until it is closed by a call to fclose or freopen.

    © 1989-2001 da P.J.© 1989-2001 by P.J. Plauger e Jim Brodie.Plauger and Jim Brodie. Tutti i diritti sono riservati.All rights reserved.

Vedere ancheSee Also

Flussi di testo e binari Text and Binary Streams
Flussi di byte e "wide" Byte and Wide Streams
Controllo dei flussi Controlling Streams
Stati di flussoStream States