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**>,** 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

Vedere anche

Riferimenti

Classe basic_stringbuf

Programmazione di iostream

Convenzioni di iostream