File e flussi

Un programma comunica con l'ambiente di destinazione tramite la lettura e scrittura dei file. Un file può essere:

  • Un set di dati che è possibile leggere e scrivere più volte.

  • Un flusso di byte generati da un programma (ad esempio una pipeline).

  • Un flusso di byte ricevuti da un dispositivo periferico o inviati a un dispositivo periferico.

    Gli ultimi due elementi sono file interattivi. I file sono in genere i mezzi principali tramite i quali interagire con un programma. Manipolare tutti questi tipi di file allo stesso modo, chiamando funzioni di libreria. Includere l'intestazione standard STDIO.H per dichiarare la maggior parte di queste funzioni.

    Prima di poter eseguire molte delle operazioni in un file, il file deve essere aperto. 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. La libreria mantiene lo stato di ogni flusso in un oggetto di tipo FILE.

    L'ambiente di destinazione apre tre file prima dell'avvio del programma. È possibile aprire un file chiamando la funzione di libreria fopen, _wfopen con due argomenti. (La funzione fopen è deprecata, al suo posto usare fopen_s, _wfopen_s). Il primo argomento è un nome file. Il secondo argomento è una stringa C che specifica:

  • Se si desidera leggere i dati dal file o scrivere dati nel file o entrambe le cose.

  • Se si desidera generare nuovi contenuti per il file (o creare un file se in precedenza non esisteva) oppure lasciare inalterato il contenuto esistente.

  • Mentre scrivere in un file può alterare il contenuto esistente oppure potrebbe semplicemente aggiungere byte alla fine del file.

  • Se si desidera modificare un flusso di testo o un flusso binario.

    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). Un flusso inizialmente è privo di associazione. Chiamare alcune funzioni in modo che operino sul flusso lo rendono orientato ai byte, mentre altre funzioni lo rendono orientato ai caratteri wide. Una volta stabilito, un flusso mantiene il proprio orientamento fino alla chiusura da parte di una chiamata a fclose o a freopen.

    © 1989-2001 da P.J. Plauger e Jim Brodie. Tutti i diritti sono riservati.

Vedere anche

Flussi di testo e binari
Flussi di byte e "wide"
Controllo dei flussi
Stati di flusso