seekg()

La función seekg() en C++ se utiliza para mover el puntero de lectura en un archivo abierto en modo de entrada (flujo de entrada). Permite cambiar la posición del puntero de lectura a una ubicación específica dentro del archivo. La sintaxis general de la función seekg() es la siguiente:

Aquí hay una descripción de los parámetros de seekg():

pos.- Es de tipo std::streampos y representa la nueva posición absoluta del puntero de lectura en el archivo.

off.- Es de tipo std::streamoff y representa un desplazamiento relativo en bytes desde una posición de referencia en el archivo.

dir.- Es de tipo std::ios_base::seekdir y especifica la dirección relativa al puntero de lectura actual. Puede ser std::ios_base::beg (desde el inicio del archivo), std::ios_base::cur (desde la posición actual) o std::ios_base::end (desde el final del archivo).

Aquí tienes un ejemplo de cómo usar seekg():

En este ejemplo, se abre un archivo de entrada llamado «archivo.txt«.

Luego, se utiliza seekg(5) para mover el puntero de lectura a la posición 5 dentro del archivo.

Después, se lee un bloque de 4 caracteres desde esa posición utilizando la función read().

Mostramos en la salida estándar los datos leídos.

Finalmente cerramos el archivo:

Recuerda que seekg() solo tiene efecto si el archivo se abre en modo de entrada (std::ios::in). Además, ten en cuenta que el puntero de lectura solo se mueve cuando se realiza una operación de lectura, como read().