Descrição
É usado para definir o ponteiro de posição interna para a posição absoluta e chama o membro virtual protegido seekpos com os mesmos argumentos pos e which.
Declaração
A seguir está a declaração para std :: basic_streambuf :: pubseekpos.
pos_type pubseekpos (pos_type pos, ios_base::openmode which = ios_base::in | ios_base::out);
Parâmetros
off - É uma nova posição absoluta para o ponteiro de posição.
Valor de retorno
Ele 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 :: 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;
}