C ++ streambuf - pubseekpos

Descripción

Se utiliza para establecer el puntero de posición interno en una posición absoluta y llama al miembro virtual protegido seekpos con los mismos argumentos pos y which.

Declaración

A continuación se muestra la declaración para std :: basic_streambuf :: pubseekpos.

pos_type pubseekpos (pos_type pos, ios_base::openmode which = ios_base::in | ios_base::out);

Parámetros

off - Es una nueva posición absoluta para el puntero de posición.

Valor devuelto

Devuelve el nuevo valor de posición del puntero de posición modificado.

Excepciones

Basic guarantee - si se lanza una excepción, el búfer de flujo está en un estado válido.

Carreras de datos

Modifica el objeto de búfer de flujo.

Ejemplo

En el siguiente ejemplo se explica sobre std :: basic_streambuf :: pubseekpos.

#include <iostream>     
#include <fstream>      

int main () {

   std::fstream filestr ("test.txt");
   if (filestr) {
      std::streambuf* pbuf = filestr.rdbuf();
      long size = pbuf->pubseekoff(0,filestr.end);  
      if (size>20) {
         char buffer[11];

         pbuf->pubseekpos(10);

         pbuf->sgetn (buffer,10);

         buffer[10]=0;
         std::cout << buffer << '\n';
      }
      filestr.close();
   }
   return 0;
}