Partager via


Pointeurs de fichier

Lorsqu’un fichier est ouvert, Windows associe un pointeur de fichier au flux par défaut. Ce pointeur de fichier est une valeur de décalage 64 bits qui spécifie l’octet suivant à lire ou l’emplacement où recevoir l’octet suivant écrit. Chaque fois qu’un fichier est ouvert, le système place le pointeur de fichier au début du fichier, ce qui correspond au décalage zéro. Chaque opération de lecture et d’écriture avance le pointeur de fichier par le nombre d’octets en cours de lecture et d’écriture. Par exemple, si le pointeur de fichier se trouve au début du fichier et qu’une opération de lecture de 5 octets est demandée, le pointeur de fichier se trouve au décalage 5 immédiatement après l’opération de lecture. À mesure que chaque octet est lu ou écrit, le système avance le pointeur de fichier. Le pointeur de fichier peut également être repositionné en appelant la fonction SetFilePointer .

Lorsque le pointeur de fichier atteint la fin d’un fichier et que l’application tente de lire à partir du fichier, aucune erreur ne se produit, mais aucun octet n’est lu. Par conséquent, la lecture de zéro octet sans erreur signifie que l’application a atteint la fin du fichier. L’écriture de zéro octet ne fait rien.

Une application peut tronquer ou étendre un fichier à l’aide de la fonction SetEndOfFile . Cette fonction définit la fin du fichier sur la position actuelle du pointeur de fichier.