Udostępnij za pośrednictwem


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

Zobacz też

Informacje

basic_stringbuf — Klasa

iostream Programming

Konwencje iostream