Partager via


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

Voir aussi

Référence

basic_stringbuf, classe

iostream, programmation

iostreams, conventions