Partager via


basic_stringbuf::str

Définit 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 chaîne.

Valeur de retour

Retourne un objet de classe basic_string<Elem, tr, Alloc**>,** dont l'ordre d'exécution des instructions est une copie de la séquence contrôlée par *this.

Notes

La première fonction membre retourne un objet de basic_string<Elem, tr, Allocde classe >, dont l'ordre d'exécution des instructions est une copie de la séquence contrôlée par *this.La séquence copiée dépend du mode stocké de stringbuf :

  • Si mode & ios_base::out est différent de zéro et une mémoire tampon de sortie existe, la séquence est la mémoire tampon de sortie entière (epptr - Éléments depbase à partir pbase).

  • Si mode & ios_base::in est différent de zéro et une mémoire tampon d'entrée existe, la séquence est la mémoire tampon d'entrée entière (egptr - Éléments d'eback à partir eback).

  • Sinon, la séquence copiée est vide.

La deuxième fonction membre libère une séquence actuel contrôlée par *this.Il alloue une copie de la séquence contrôlée par _Newstr.Si mode & ios_base::in est différent de zéro, il définit la mémoire tampon d'entrée pour commencer à le lire au début de la séquence.Si mode & ios_base::out est différent de zéro, il définit la mémoire tampon de sortie pour commencer à écrire 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>

l'espace de noms : DST

Voir aussi

Référence

basic_stringbuf Class

programmation iostream

conventions d'iostreams