basic_stringbuf::str
Ustawia lub pobiera tekst buforu ciągów bez zmiany pozycji zapisu.
basic_string<Elem, Tr, Alloc> str( ) const;
void str(
const basic_string<Elem, Tr, Alloc>& _Newstr
);
Parametry
- _Newstr
Nowy ciąg znaków.
Wartość zwracana
Zwraca obiekt klasy String<Elem, Tr, Alloc**>,** których kontrolowanej sekwencji jest kopia sekwencji kontrolowana przez * to.
Uwagi
Pierwsza funkcja Członkowskie zwraca obiekt klasy String<Elem, Tr, Alloc>, którego kontrolowanej sekwencji jest kopią sekwencji kontrolowane przez * to.Sekwencja skopiowane zależy od trybu stringbuf składowana:
Jeśli Tryb &ios_base::out jest różna od zera i istnieje bufor wyjściowy, sekwencja jest bufor wyjściowy całego (epptr - pbase elementy rozpoczynające się od pbase).
Jeśli Tryb &ios_base::in jest różna od zera i bufor wejściowy istnieje, sekwencja jest cały bufor wejściowy (egptr - eback elementy rozpoczynające się od eback).
W przeciwnym razie skopiowane sekwencji jest pusty.
Druga funkcja Członkowskie zwalnia dowolną sekwencję obecnie kontrolowana przez * to.Następnie przydziela kopię sekwencji kontrolowane przez _Newstr.Jeśli Tryb &ios_base::in jest różna od zera, to jedynie ustawienie buforu wejściowego należy rozpocząć odczyt na początku sekwencji.Jeśli Tryb &ios_base::out jest różna od zera, to ustawia bufor wyjściowy, aby rozpocząć pisanie na początku sekwencji.
Przykład
// 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;
}
Wymagania
Nagłówek:<sstream>
Przestrzeń nazw: std