Freigeben über


basic_stringbuf::str

Setzt oder ruft den Text in einen Zeichenfolgenpuffer ab, ohne die Schreibposition zu ändern.

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

Parameter

  • _Newstr
    Die neue Zeichenfolge.

Rückgabewert

Gibt ein Objekt der Klasse basic_string<Elem, Tr, Alloc >, zurück, dessen gesteuerte Sequenz eine Kopie dieser Folge ist, die von *this gesteuert wird.

Hinweise

Die erste Memberfunktion gibt ein Objekt der Klasse Elem, Tr, Alloc>basic_string<zurück, dessen gesteuerte Sequenz eine Kopie dieser Folge ist, die von *this gesteuert wird. Die kopierten Sequenz hängt vom gespeicherten stringbuf Modus ab:

  • Wenn mode & ios_base::out nicht 0 ist und ein Ausgabepuffer vorhanden ist, ist die Sequenz der gesamte Ausgabepuffer (epptr - pbase-Elemente, die mit pbase beginnen).

  • Wenn mode & ios_base::in nicht 0 ist und einen Eingabepuffer vorhanden ist, ist die Sequenz der Eingabepuffer gesamte (egptr - eback-Elemente, die mit eback beginnen).

  • Andernfalls ist die kopierte Sequenz leer.

Die zweite Memberfunktion gibt jeder Sequenz frei, die derzeit von *this gesteuert wird. Sie wird dann eine Kopie der Sequenz zu, die durch _Newstr gesteuert wird. Wenn mode & ios_base::in nicht 0 ist, legt der Eingabepuffer auf den Anfang fest, der zu Anfang der Sequenz. Wenn mode & ios_base::out nicht 0 ist, legt es den Ausgabepuffer auf den Anfang fest, der zu Anfang der Sequenz schreibt.

Beispiel

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

Anforderungen

Header: <sstream>

Namespace: std

Siehe auch

Referenz

basic_stringbuf-Klasse

iostream-Programmierung

iostreams-Konventionen