Compartir a través de


Punteros de archivo

Cuando se abre un archivo, Windows asocia un puntero de archivo con la secuencia predeterminada. Este puntero de archivo es un valor de desplazamiento de 64 bits que especifica el siguiente byte que se va a leer o la ubicación para recibir el siguiente byte escrito. Cada vez que se abre un archivo, el sistema coloca el puntero de archivo al principio del archivo, que es el desplazamiento cero. Cada operación de lectura y escritura avanza el puntero de archivo por el número de bytes que se leen y escriben. Por ejemplo, si el puntero de archivo está al principio del archivo y se solicita una operación de lectura de 5 bytes, el puntero de archivo se ubicará en el desplazamiento 5 inmediatamente después de la operación de lectura. A medida que cada byte se lee o escribe, el sistema avanza el puntero de archivo. El puntero de archivo también se puede cambiar de posición llamando a la función SetFilePointer .

Cuando el puntero de archivo llega al final de un archivo y la aplicación intenta leer desde el archivo, no se produce ningún error, pero no se lee ningún bytes. Por lo tanto, leer cero bytes sin un error significa que la aplicación ha llegado al final del archivo. Escribir cero bytes no hace nada.

Una aplicación puede truncar o extender un archivo mediante la función SetEndOfFile . Esta función establece el final del archivo en la posición actual del puntero de archivo.