Condividi tramite


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**>,** della sequenza selezionata è una copia della sequenza controllata da *this.

Note

La prima funzione membro restituisce un oggetto di basic_string<Elem, Tr, Allocdella classe >, 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, imposta il buffer di input per iniziare la lettura all'inizio della sequenza.Se mode & ios_base::out è diverso da zero, imposta il buffer di output per iniziare 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

intestazione: <sstream>

Spazio dei nomi: deviazione standard

Vedere anche

Riferimenti

basic_stringbuf Class

programmazione di iostream

convenzioni di iostream