Compartilhar via


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

Consulte também

Referência

Classe basic_stringbuf

Programação iostream

Convenções iostreams