basic_stringbuf::str
Imposta o ottiene il testo in un buffer di stringa senza modificare la posizione di scrittura.
basic_string<Elem, Tr, Alloc> str( ) const;
void str(
const basic_string<Elem, Tr, Alloc>& _Newstr
);
Parametri
- _Newstr
La nuova stringa.
Valore restituito
Restituisce un oggetto di classe basic_string<Elem, Tr, Alloc**>,** di cui sequenza selezionata è una copia della sequenza controllata da *this.
Note
La prima funzione membro restituisce un oggetto di classe da basic_string<Elem, Tr, Alloc>, di cui la sequenza selezionata è una copia della sequenza controllata da *this. La sequenza copiata dipende dalla modalità memorizzata di stringbuf:
Se mode & ios_base::out è diverso da zero e un buffer di output esiste, la sequenza è l'intero buffer di output (epptr - elementi dipbase a partire da pbase).
Se mode & ios_base::in è diverso da zero e un buffer di input esiste, la sequenza è l'intero buffer di input (egptr - elementi dieback a partire da eback).
In caso contrario, la sequenza copiata è vuota.
La seconda funzione membro rilascia una sequenza attualmente selezionata da *this. Quindi alloca una copia della sequenza controllata da _Newstr. Se mode & ios_base::in è diverso da zero, impostare il buffer di input per avviare la lettura all'inizio della sequenza. Se mode & ios_base::out è diverso da zero, impostare il buffer di output per avviare la scrittura nella parte superiore della sequenza.
Esempio
// 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;
}
Requisiti
sstream <diIntestazione: >
Spazio dei nomi: std