C ++ streambuf - pubseekoff

Descrição

É usado para definir o ponteiro de posição interna para a posição relativa e chama o membro virtual protegido seekoff com os mesmos argumentos off, way e which.

Declaração

A seguir está a declaração 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 - É um valor de deslocamento, relativo ao parâmetro de caminho.

Valor de retorno

Ele sempre retorna o novo valor de posição do ponteiro de posição modificado.

Exceções

Basic guarantee - se uma exceção for lançada, o buffer de fluxo está em um estado válido.

Corridas de dados

Ele modifica o objeto de buffer de fluxo.

Exemplo

No exemplo a seguir, 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;
}