basic_stringbuf::str
Os conjuntos ou obtêm 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, alocação A ID**>,** cuja sequência controlada é uma cópia da sequência controlada por *this.
Comentários
A primeira função de membro retorna um objeto da classe que<basic_stringElem, Tr, Alloc>, cuja sequência controlada é uma cópia da sequência controlada por *this. A sequência copiada depende do modo armazenado de stringbuf:
Se mode & ios_base::out for diferente de zero e um buffer de saída existir, a sequência é o buffer de saída inteiro (epptr - elementos depbase que começam com pbase).
Se mode & ios_base::in for diferente de zero e um buffer de entrada existir, a sequência é o buffer de entrada inteiro (egptr - elementos deeback que começam com eback).
Caso contrário, a sequência vazia será copiada.
A segunda função de membro anula qualquer sequência controlada por *thisatualmente. Aloca uma cópia da sequência controlada por _Newstr. Se mode & ios_base::in for diferente de zero, define o buffer de entrada para iniciar a leitura no início da sequência. Se mode & ios_base::out for diferente de zero, define o buffer de saída para iniciar a gravação no início da sequê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
sstream <deCabeçalho: >
Namespace: std