Namespaces
Variants

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

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

Repositionne le pointeur de mise en mémoire tampon ( pptr() ) de count caractères, où count peut être positif ou négatif. Aucune vérification n'est effectuée pour déplacer le pointeur en dehors de la zone de mise en mémoire tampon [ pbase ( ) , epptr ( ) ) .

Si le pointeur est avancé et ensuite overflow() est appelé pour vider la zone de mise en mémoire tampon vers la séquence de caractères associée, l'effet est que des count caractères supplémentaires avec des valeurs non définies sont produits en sortie.

Table des matières

Paramètres

count - nombre à ajouter au pointeur de positionnement

Valeur de retour

(aucun)

Notes

Parce que cette fonction prend un int , elle ne peut pas manipuler des tampons plus grands que std:: numeric_limits < int > :: max ( ) caractères ( LWG issue 255 ).

Exemple

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

Sortie :

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

Voir aussi

avance le pointeur suivant dans la séquence d'entrée
(fonction membre protégée)