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