Sdílet prostřednictvím


basic_stringbuf::str

Nastaví nebo získá text ve vyrovnávací paměti řetězec bez změny polohy zápisu.

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é pořadí je kopie sekvence řízeno * Tato.

Poznámky

Vrátí první členské funkce objektu třídy basic_string <Elem, Tr, Alloc>, jejichž řízené sekvence je kopie sekvence řízena * Tato.Sekvence zkopírovány závisí na režimu uložené stringbuf:

  • Pokud režimu & ios_base::Out je nenulová a existuje vyrovnávací paměť výstupu, posloupnost je celý výstupní vyrovnávací paměti (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).

  • V opačném pořadí kopírovaných je prázdný.

Druhá funkce člena zruší přidělení libovolná posloupnost aktuálně řízena * Tato.Poté přiděluje kopii sekvence řízena _Newstr.Pokud režimu & ios_base::in je nenulová, nastaví vstupní vyrovnávací paměti pro spuštění na začátku pořadí čtení.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 Class

iostream programování

iostreams konvence