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