basic_stringbuf::str
Les jeux ou obtient le texte dans une mémoire tampon de chaîne sans modifier la position d'écriture.
basic_string<Elem, Tr, Alloc> str( ) const;
void str(
const basic_string<Elem, Tr, Alloc>& _Newstr
);
Paramètres
- _Newstr
La nouvelle chaîne.
Valeur de retour
Retourne un objet de la classe basic_string<Elem, Tr, Allocation**>,** dont la séquence contrôlée est une copie de la séquence contrôlée par *this.
Notes
La première fonction membre retourne un objet de la classe basic_string<Elem, Tr, Alloc>, dont la séquence contrôlée est une copie de la séquence contrôlée par *this. La séquence copiée dépend du mode de stringbuf stockée :
Si mode & ios_base::out est différente de zéro et un tampon de sortie existe, la séquence est la mémoire tampon de sortie entier (epptr - éléments d'pbase depuis pbase).
Si mode & ios_base::in est différente de zéro et un tampon d'entrée existe, la séquence est la mémoire tampon d'entrée entier (egptr - éléments d'eback depuis eback).
Sinon, la séquence vide est copiée.
La deuxième fonction membre libère n'importe quelle séquence est contrôlée par *this. Elle alloue une copie de la séquence contrôlée par _Newstr. Si mode & ios_base::in est différente de zéro, il attribue la mémoire tampon d'entrée pour commencer la lecture au début de la séquence. Si mode & ios_base::out est différente de zéro, il attribue la mémoire tampon de sortie pour commencer l'écriture au début de la séquence.
Exemple
// basic_stringbuf_str.cpp
// compile with: /EHsc
#include <iostream>
#include <sstream>
using namespace std;
int main( )
{
basic_string<char> i( "test" );
stringstream ss;
ss.rdbuf( )->str( i );
cout << ss.str( ) << endl;
ss << "z";
cout << ss.str( ) << endl;
ss.rdbuf( )->str( "be" );
cout << ss.str( ) << endl;
}
Configuration requise
**En-tête :**sstream <de >
Espace de noms : std