Partilhar via


CW2AEX Classe

Observação

A Active Template Library (ATL) continua a ser suportada. No entanto, já não estamos a adicionar funcionalidades nem a atualizar a documentação.

Esta classe é usada pelas macros CT2AEXde conversão de cadeias , CW2TEX, CW2CTEX, e CT2CAEX, e pelo typedef CW2A.

Importante

Esta classe e os seus membros não podem ser usados em aplicações que sejam executadas no Windows Runtime.

Sintaxe

template<int t_nBufferLength = 128>
class CW2AEX

Parâmetros

t_nBufferLength
O tamanho do buffer utilizado no processo de tradução. O comprimento padrão é 128 bytes.

Membros

Construtores Públicos

Nome Description
CW2AEX::CW2AEX O construtor.
CW2AEX::~CW2AEX O destruidor.

Operadores Públicos

Nome Description
CW2AEX::operator LPSTR Operador de conversão.

Membros de Dados Públicos

Nome Description
CW2AEX::m_psz O membro de dados que armazena a cadeia de origem.
CW2AEX::m_szBuffer O buffer estático, usado para armazenar a cadeia convertida.

Observações

A menos que seja necessária funcionalidade adicional, use CT2AEX, CW2TEX, CW2CTEX, CT2CAEX, ou CW2A no seu código.

Esta classe contém um buffer estático de tamanho fixo que é usado para armazenar o resultado da conversão. Se o resultado for demasiado grande para caber no buffer estático, a classe aloca memória usando malloc, libertando a memória quando o objeto sai do âmbito. Isto garante que, ao contrário das macros de conversão de texto disponíveis em versões anteriores do ATL, esta classe é segura para usar em loops e que não transborda a pilha.

Se a classe tentar alocar memória no heap e falhar, chamará AtlThrow com um argumento de E_OUTOFMEMORY.

Por defeito, as classes de conversão ATL e macros utilizam a página de código ANSI do thread atual para a conversão. Se quiseres sobrepor esse comportamento para uma conversão específica, especifica a página de código como segundo parâmetro do construtor da classe.

As seguintes macros baseiam-se nesta classe:

  • CT2AEX

  • CW2TEX

  • CW2CTEX

  • CT2CAEX

A seguinte definição de tipos baseia-se nesta classe:

  • CW2A

Para uma discussão destes macros de conversão de texto, veja ATL e MFC String Conversion Macros.

Example

Veja ATL e MFC String Conversion Macros para um exemplo de utilização destas macros de conversão de strings.

Requerimentos

Cabeçalho:atlconv.h

CW2AEX::CW2AEX

O construtor.

CW2AEX(LPCWSTR psz, UINT nCodePage) throw(...);
CW2AEX(LPCWSTR psz) throw(...);

Parâmetros

psz
A cadeia de texto a converter.

nCodePage
A página de código usada para realizar a conversão. Consulte a discussão dos parâmetros da página de código para a função MultiByteToWideChar do SDK do Windows para mais detalhes.

Observações

Aloca o buffer utilizado no processo de tradução.

CW2AEX::~CW2AEX

O destruidor.

~CW2AEX() throw();

Observações

Liberta o buffer alocado.

CW2AEX::m_psz

O membro de dados que armazena a cadeia de origem.

LPSTR m_psz;

CW2AEX::m_szBuffer

O buffer estático, usado para armazenar a cadeia convertida.

char m_szBuffer[t_nBufferLength];

CW2AEX::operator LPSTR

Operador de conversão.

operator LPSTR() const throw();

Valor de retorno

Devolve a cadeia de texto como tipo LPSTR.

Consulte também

CA2AEX Classe
CA2CAEX Classe
CA2WEX Classe
CW2CWEX Classe
CW2WEX Classe
Visão geral da classe