std::basic_streambuf<CharT,Traits>:: pbump
|
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) |