Partilhar via


Classe CA2WEX

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 pelos macros de conversão de strings CA2TEX, CA2CTEX, CT2WEX e CT2CWEX, e pelo typedef CA2W.

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 CA2WEX

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
CA2WEX::CA2WEX O construtor.
CA2WEX::~CA2WEX O destruidor.

Operadores Públicos

Nome Description
CA2WEX::operator LPWSTR Operador de conversão.

Membros de Dados Públicos

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

Observações

A menos que seja necessária funcionalidade extra, use CA2TEX, CA2CTEX, CT2WEX, CT2CWEX ou CA2W 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:

  • CA2TEX

  • CA2CTEX

  • CT2WEX

  • CT2CWEX

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

  • CA2W

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

CA2WEX::CA2WEX

O construtor.

CA2WEX(LPCSTR psz, UINT nCodePage) throw(...);
CA2WEX(LPCSTR 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 do SDK do Windows MultiByteToWideChar para mais detalhes.

Observações

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

CA2WEX::~CA2WEX

O destruidor.

~CA2WEX() throw();

Observações

Liberta o buffer alocado.

CA2WEX::m_psz

O membro de dados que armazena a cadeia de origem.

LPWSTR m_psz;

CA2WEX::m_szBuffer

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

wchar_t m_szBuffer[t_nBufferLength];

CA2WEX::operator LPWSTR

Operador de conversão.

operator LPWSTR() const throw();

Valor de retorno

Devolve a cadeia de texto como tipo LPWSTR.

Consulte também

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