std::basic_stringbuf<CharT,Traits,Allocator>:: setbuf
|
protected
:
virtual std:: basic_streambuf < CharT, Traits > * setbuf ( char_type * s, std:: streamsize n ) |
||
Si s est un pointeur nul et n est zéro, cette fonction n'a aucun effet.
Sinon, l'effet est défini par l'implémentation : certaines implémentations ne font rien, tandis que certaines implémentations effacent le std::string membre actuellement utilisé comme tampon et commencent à utiliser le tableau de caractères fourni par l'utilisateur de taille n , dont le premier élément est pointé par s , comme tampon et séquence de caractères d'entrée/sortie.
Cette fonction est protégée virtuelle, elle ne peut être appelée qu'à travers
pubsetbuf()
ou depuis les fonctions membres d'une classe définie par l'utilisateur dérivée de
std::basic_stringbuf
.
Table des matières |
Paramètres
| s | - | pointeur vers le premier CharT dans le tampon fourni par l'utilisateur ou null |
| n | - | nombre d'éléments CharT dans le tampon fourni par l'utilisateur ou zéro |
Valeur de retour
this
Notes
Le tampon de flux obsolète
std::
strstreambuf
ou le périphérique boost.IOStreams
boost::basic_array
peut être utilisé pour implémenter la mise en mémoire tampon d'E/S sur un tableau de caractères fourni par l'utilisateur de manière portable.
Exemple
Test de la fonctionnalité setbuf du stringstream.
#include <iostream> #include <sstream> int main() { std::ostringstream ss; char c[1024] = {}; ss.rdbuf()->pubsetbuf(c, 1024); ss << 3.14 << '\n'; std::cout << c << '\n'; }
Sortie :
3.14 (on GNU g++/libstdc++ and SunPro C++/roguewave) <nothing> (on MS Visual Studio 2010, SunPro C++/stlport4, CLang++/libc++)
Voir aussi
|
appelle
setbuf
(
)
(fonction membre publique de
std::basic_streambuf<CharT,Traits>
)
|