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