basic_stringbuf::str
Obtém ou define o texto em um buffer de cadeia de caracteres sem alterar a posição de gravação.
basic_string<Elem, Tr, Alloc> str( ) const;
void str(
const basic_string<Elem, Tr, Alloc>& _Newstr
);
Parâmetros
- _Newstr
A nova cadeia de caracteres.
Valor de retorno
Retorna um objeto da classe basic_string<Elem, Tr, Alloc**>,** cuja seqüência controlada é uma cópia da seqüência controlada por *this.
Comentários
A primeira função de membro retorna um objeto de basic_string<Elemda classe, Tr, Alloc>, cuja seqüência controlada é uma cópia da seqüência controlada por *this.A seqüência copiada depende do modo de stringbuf armazenado:
Se mode & ios_base::out é diferente de zero e um buffer de saída existir, a seqüência é o buffer de saída inteiro (epptr - Elementos depbase que começam com pbase).
Se mode & ios_base::in é diferente de zero e um buffer de entrada existir, a seqüência é o buffer de entrada inteiro (egptr - Elementos deeback que começam com eback).
Caso contrário, a seqüência copiada está vazia.
A segunda função de membro desaloca qualquer momento seqüência controlada por *this.Então designa uma cópia da seqüência controlada por _Newstr.Se mode & ios_base::in é diferente de zero, defina o buffer de entrada iniciar a leitura no início da seqüência.Se mode & ios_base::out é diferente de zero, defina o buffer de saída para começar a escrever no início da seqüência.
Exemplo
// 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
Cabeçalho: <sstream>
namespace: STD