C ++ streambuf - pubseekoff

Descripción

Se utiliza para establecer el puntero de posición interno en una posición relativa y llama al miembro virtual protegido seekoff con los mismos argumentos off, way y which.

Declaración

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

pos_type pubseekoff (off_type off, ios_base::seekdir way,
                     ios_base::openmode which = ios_base::in | ios_base::out);

Parámetros

off - Es un valor de compensación, relativo al parámetro de forma.

Valor devuelto

Siempre 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 :: pubseekoff.

#include <iostream>     
#include <fstream>      

int main () {
   std::fstream filestr ("sample.txt");
   if (filestr) {
      std::streambuf* pbuf = filestr.rdbuf();
      long size = pbuf->pubseekoff(0,filestr.end);
      std::cout << "The file size is " << size << " characters.\n";
      filestr.close();
   }
   return 0;
}