Condividi tramite


Puntatori file

Quando un file viene aperto, Windows associa un puntatore di file al flusso predefinito. Questo puntatore al file è un valore di offset a 64 bit che specifica il byte successivo da leggere o il percorso in cui ricevere il byte successivo scritto. Ogni volta che viene aperto un file, il sistema inserisce il puntatore al file all'inizio del file, che è offset zero. Ogni operazione di lettura e scrittura fa avanzare il puntatore del file in base al numero di byte letti e scritti. Ad esempio, se il puntatore al file si trova all'inizio del file e viene richiesta un'operazione di lettura di 5 byte, il puntatore del file si troverà all'offset 5 immediatamente dopo l'operazione di lettura. Quando ogni byte viene letto o scritto, il sistema fa avanzare il puntatore del file. Il puntatore di file può anche essere riposizionato chiamando la funzione SetFilePointer .

Quando il puntatore al file raggiunge la fine di un file e l'applicazione tenta di leggere dal file, non si verifica alcun errore, ma non vengono letti byte. Pertanto, la lettura di zero byte senza errore indica che l'applicazione ha raggiunto la fine del file. La scrittura di zero byte non esegue alcuna operazione.

Un'applicazione può troncare o estendere un file usando la funzione SetEndOfFile . Questa funzione imposta la fine del file sulla posizione corrente del puntatore al file.