Compartilhar via


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

Consulte também

Referência

basic_stringbuf Class

iostream de programação

Convenções de iostreams