Compartir a través de


Punteros de archivo

Cuando se abre un archivo, Windows asocia un puntero de archivo a 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 byte siguiente escrito. Cada vez que se abre un archivo, el sistema coloca el puntero de archivo al principio del archivo, que es cero de desplazamiento. 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ónsetFilePointer.

Cuando el puntero de archivo llega al final de un archivo y la aplicación intenta leer del 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ónsetEndOfFile de. Esta función establece el final del archivo en la posición actual del puntero de archivo.