basic_stringbuf::str

Establece u obtiene el texto en un búfer de cadena sin cambiar la posición de la escritura.

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

Parámetros

  • _Newstr
    La nueva cadena.

Valor devuelto

Devuelve un objeto de la clase basic_string<Elem, Tr, Alloc**>,** cuya secuencia controlada es una copia de la secuencia controlada por *this.

Comentarios

La primera función miembro devuelve un objeto de clase basic_string<Elem, Tr, Alloc>, cuya secuencia controlada es una copia de la secuencia controlada por *this. La secuencia copiada depende del modo almacenado de stringbuf:

  • Si mode & ios_base::out es distinto de cero y existe un búfer de salida, la secuencia es el búfer de salida completo (epptr - elementos depbase a partir de pbase).

  • Si mode & ios_base::in es distinto de cero y existe un búfer de entrada, la secuencia es el búfer de entrada completo (egptr - elementos deeback a partir de eback).

  • Si no, la secuencia copiada está vacía.

La segunda función miembro desasigna cualquier secuencia controlada actualmente por *this. A continuación asigna una copia de la secuencia controlada por _Newstr. Si mode & ios_base::in es distinto de cero, establece el búfer de entrada para iniciar la lectura al principio de la secuencia. Si mode & ios_base::out es distinto de cero, establece el búfer de salida para empezar a escribir al principio de la secuencia.

Ejemplo

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

Requisitos

sstream <deEncabezado: >

Espacio de nombres: std

Vea también

Referencia

basic_stringbuf (Clase)

Programación con iostream

Convenciones de iostreams