Sdílet prostřednictvím


basic_stringbuf::str

Nastaví nebo získá text bez změny umístění zápisu do vyrovnávací paměti řetězců.

basic_string<Elem, Tr, Alloc> str( ) const;
void str(
    const basic_string<Elem, Tr, Alloc>& _Newstr
);

Parametry

  • _Newstr
    Nový řetězec.

Vrácená hodnota

Vrátí objekt třídy basic_string<Elem, Tr, Alloc**>,** jejichž řízené sekvence je kopírování sekvence řízena * to.

Poznámky

První členské funkce vrátí objekt třída basic_string<Elem, Tr, Alloc>, jejichž řízené sekvence je kopírování sekvence řízena * to.Pořadí kopírování závisí na režimu uložené stringbuf:

  • Pokud režimu &ios_base::out je nenulová a výstupní vyrovnávací paměť existuje, posloupnost je celý výstupní vyrovnávací paměť (epptr - pbase prvky, počínaje pbase).

  • Pokud režimu &ios_base::in je nenulová a vstupní vyrovnávací paměť existuje, posloupnost je celý vstupní vyrovnávací paměti (egptr - eback prvky, počínaje eback).

  • Jinak zkopírované sekvence je prázdná.

Druhý člen funkce zruší přidělení libovolná posloupnost nyní řízena * to.Poté přiděluje kopírování sekvence řízena _Newstr.Pokud režimu &ios_base::in je nenulová, nastaví vstupní vyrovnávací paměti ke spuštění čtení na začátku posloupnosti.Pokud režimu &ios_base::out je nenulová, nastaví výstupní vyrovnávací paměť, chcete-li začít psát na začátku posloupnosti.

Příklad

// 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;
}
  

Požadavky

Záhlaví:<sstream>

Obor názvů: std

Viz také

Referenční dokumentace

basic_stringbuf – třída

iostream – programování

iostreams – konvence