Compartilhar via


Classe CStrBufT

Essa classe fornece limpeza automática de recursos para chamadas GetBuffer e ReleaseBuffer em um objeto CStringT existente.

Sintaxe

template<typename TCharType>
class CStrBufT

Parâmetros

TCharType
O tipo de caractere da classe CStrBufT. Um dos seguintes pode ser feito:

  • char (para cadeias de caracteres ANSI).

  • wchar_t (para cadeias de caracteres Unicode).

  • TCHAR (para cadeia de caracteres Unicode e ANSI)

Membros

Typedefs públicos

Nome Descrição
PCXSTR Um ponteiro para uma cadeia de caracteres constante.
PXSTR Um ponteiro para uma cadeia de caracteres.
StringType O tipo de cadeia de caracteres cujo buffer deve ser manipulado por especializações desse modelo de classe.

Construtores públicos

Nome Descrição
CStrBufT::CStrBufT O construtor do objeto de buffer de cadeia de caracteres.

Métodos públicos

Nome Descrição
CStrBufT::SetLength Define o comprimento do buffer de caracteres do objeto de cadeia de caracteres associado.

Operadores públicos

Nome Descrição
CStrBufT::operator PCXSTR Recupera um ponteiro constpara o buffer de caracteres do objeto de cadeia de caracteres associado.
CStrBufT::operator PXSTR Recupera um ponteiro para o buffer de caracteres do objeto de cadeia de caracteres associado.

Constantes públicas

Nome Descrição
CStrBufT::AUTO_LENGTH Determina automaticamente o novo comprimento da cadeia de caracteres na versão.
CStrBufT::SET_LENGTH Define o comprimento do objeto de cadeia de caracteres no tempo GetBuffer.

Comentários

Essa classe é usada como uma classe wrapper para substituir chamadas para GetBuffer e ReleaseBuffer ou GetBufferSetLength e ReleaseBuffer.

Criada principalmente como uma classe auxiliar, CStrBufT fornece uma maneira conveniente de um desenvolvedor trabalhar com o buffer de caracteres de um objeto de cadeia de caracteres sem se preocupar com como ou quando chamar ReleaseBuffer. Isso é possível porque o objeto wrapper sai do escopo naturalmente no caso de uma exceção ou de vários caminhos de código de saída, fazendo com que seu destruidor libere o recurso de cadeia de caracteres.

Requisitos

Cabeçalho: atlsimpstr.h

CStrBufT::AUTO_LENGTH

Determina automaticamente o novo comprimento da cadeia de caracteres na versão.

static const DWORD AUTO_LENGTH = 0x01;

Comentários

Determina automaticamente o novo comprimento da cadeia de caracteres na versão. A cadeia de caracteres deve ser encerrada em nulo.

CStrBufT::CStrBufT

Constrói um objeto do buffer.

CStrBufT(StringType& str, int nMinLength, DWORD dwFlags = AUTO_LENGTH) throw(...);
explicit CStrBufT(StringType& str) throw(...);

Parâmetros

str
O objeto de cadeia de caracteres associado ao buffer. Normalmente, o desenvolvedor usará os typedefs predefinidos de CStrBuf (variante TCHAR), CStrBufA (variante char) e CStrBufW (variante wchar_t).

nMinLength
O comprimento mínimo do buffer de caracteres.

dwFlags
Especifica se o comprimento da cadeia de caracteres é determinado automaticamente. Um dos seguintes pode ser feito:

  • AUTO_LENGTH: o comprimento da cadeia de caracteres é determinado automaticamente quando CSimpleStringT::Release é chamado. A cadeia de caracteres deve ser encerrada em nulo. Valor padrão.

  • SET_LENGTH: o comprimento da cadeia de caracteres é definido quando CSimpleStringT::GetBuffer é chamado.

Comentários

Cria um buffer de cadeia de caracteres para o objeto de cadeia de caracteres associado. Durante a construção, CSimpleStringT::GetBuffer ou CSimpleStringT::GetBufferSetLength é chamado.

Observe que o construtor de cópia é private.

CStrBufT::operator PCXSTR

Acessa diretamente caracteres armazenados no objeto de cadeia de caracteres como uma cadeia de caracteres no estilo C.

operator PCXSTR() const throw();

Valor de Devolução

Um ponteiro de caractere para os dados da cadeia de caracteres.

Comentários

Chame essa função para retornar um ponteiro para o buffer de caracteres de um objeto de cadeia de caracteres. O conteúdo do objeto de cadeia de caracteres não pode ser alterado com esse ponteiro.

CStrBufT::operator PXSTR

Acessa diretamente caracteres armazenados no objeto de cadeia de caracteres como uma cadeia de caracteres no estilo C.

operator PXSTR() throw();

Valor de Devolução

Um ponteiro de caractere para os dados da cadeia de caracteres.

Comentários

Chame essa função para retornar um ponteiro para o buffer de caracteres de um objeto de cadeia de caracteres. O desenvolvedor pode alterar o conteúdo do objeto de cadeia de caracteres com esse ponteiro.

CStrBufT::PCXSTR

Um ponteiro para uma cadeia de caracteres constante.

typedef CSimpleStringT<TCharType>::PCXSTR PCXSTR;

CStrBufT::PXSTR

Um ponteiro para uma cadeia de caracteres.

typedef CSimpleStringT<TCharType>::PXSTR PXSTR;

CStrBufT::SET_LENGTH

Define o comprimento do objeto de cadeia de caracteres no tempo GetBuffer.

static const DWORD SET_LENGTH = 0x02;

Comentários

Define o comprimento do objeto de cadeia de caracteres no tempo GetBuffer.

Determina se CSimpleStringT::GetBuffer e CSimpleStringT::GetBufferSetLength são chamados quando o objeto do buffer de cadeia de caracteres é construído.

CStrBufT::SetLength

Define o comprimento mínimo do buffer de caracteres.

void SetLength(int nLength);

Parâmetros

nLength
O novo comprimento do buffer de caracteres do objeto de cadeia de caracteres.

Observação

Deve ser menor ou igual ao comprimento mínimo do buffer especificado no construtor de CStrBufT.

Comentários

Chame essa função para definir o comprimento da cadeia de caracteres representada pelo objeto do buffer.

CStrBufT::StringType

O tipo de cadeia de caracteres cujo buffer deve ser manipulado por especializações desse modelo de classe.

typedef CSimpleStringT<TCharType> StringType;

Comentários

TCharType é o tipo de caractere usado para especializar o modelo de classe.

Confira também

Gráfico da hierarquia
Classes compartilhadas ATL/MFC