Namespaces
Variants

std::basic_streambuf<CharT,Traits>:: pbump

From cppreference.net
protected :
void pbump ( int count ) ;

Reposiciona el puntero de escritura ( pptr() ) en count caracteres, donde count puede ser positivo o negativo. No se realizan verificaciones al mover el puntero fuera del área de escritura [ pbase ( ) , epptr ( ) ) .

Si el puntero es avanzado y luego overflow() es llamado para vaciar el área de escritura hacia la secuencia de caracteres asociada, el efecto es que se emiten count caracteres adicionales con valores indefinidos.

Contenidos

Parámetros

count - número a añadir al puntero put

Valor de retorno

(ninguno)

Notas

Debido a que esta función toma un int , no puede manipular búferes mayores que std:: numeric_limits < int > :: max ( ) caracteres ( LWG issue 255 ).

Ejemplo

#include <fstream>
#include <iostream>
#include <string>
struct showput_streambuf : std::filebuf
{
    using std::filebuf::pbump; // expose protected
    std::string showput() const
    {
        return std::string(pbase(), pptr());
    }
};
int main()
{
    showput_streambuf mybuf;
    mybuf.open("test.txt", std::ios_base::out);
    std::ostream str(&mybuf);
    str << "This is a test" << std::flush << "1234";
    std::cout << "The put area contains: " << mybuf.showput() << '\n';
    mybuf.pbump(10);
    std::cout << "after pbump(10), it contains " << mybuf.showput() << '\n';
}

Salida:

The put area contains: 1234
after pbump(10), it contains 1234 is a test

Véase también

avanza el puntero siguiente en la secuencia de entrada
(función miembro protegida)