Namespaces
Variants

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

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

Verschiebt den put pointer ( pptr() ) um count Zeichen, wobei count positiv oder negativ sein kann. Es werden keine Überprüfungen durchgeführt, ob der Zeiger außerhalb des Put-Bereichs bewegt wird [ pbase ( ) , epptr ( ) ) .

Wenn der Zeiger vorgerückt wird und dann overflow() aufgerufen wird, um den Put-Bereich in die zugehörige Zeichensequenz zu leeren, ist der Effekt, dass zusätzliche count Zeichen mit undefinierten Werten ausgegeben werden.

Inhaltsverzeichnis

Parameter

count - Anzahl, die zum Put-Zeiger hinzugefügt werden soll

Rückgabewert

(keine)

Hinweise

Da diese Funktion einen int verwendet, kann sie keine Puffer größer als std:: numeric_limits < int > :: max ( ) Zeichen verarbeiten ( LWG issue 255 ).

Beispiel

#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';
}

Ausgabe:

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

Siehe auch

bewegt den nächsten Zeiger in der Eingabesequenz vor
(geschützte Elementfunktion)