Compartilhar via


Classe CA2WEX

Essa classe é usada pelas macros de conversão de cadeia de caracteres CA2TEX, CA2CTEX, CT2WEX e CT2CWEX e pelo typedef CA2W.

Importante

Essa classe e os respectivos membros não podem ser usados em aplicativos executados no Windows Runtime.

Sintaxe

template <int t_nBufferLength = 128>
class CA2WEX

Parâmetros

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

Membros

Construtores públicos

Nome Descrição
CA2WEX::CA2WEX O construtor .
CA2WEX::~CA2WEX O destruidor.

Operadores públicos

Nome Descrição
CA2WEX::operator LPWSTR Operador de conversão.

Membros de Dados Públicos

Nome Descrição
CA2WEX::m_psz O membro de dados que armazena a cadeia de caracteres fonte.
CA2WEX::m_szBuffer O buffer estático, usado para armazenar a cadeia de caracteres convertida.

Comentários

A menos que alguma funcionalidade extra seja necessária, use CA2TEX, CA2CTEX, CT2WEX, CT2CWEX ou CA2W em seu código.

Essa classe contém um buffer estático de tamanho fixo que é usado para armazenar o resultado da conversão. Se o resultado for muito grande para caber no buffer estático, a classe aloca memória usando malloc, liberando a memória quando o objeto sair do escopo. Isso vai garantir que, ao contrário das macros de conversão de texto disponíveis em versões anteriores da ATL, essa classe será segura para usar em loops e não causará estouro da pilha.

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

Por padrão, as macros e classes de conversão da ATL usam a página de código ANSI dos threads atuais para a conversão. Se desejar substituir esse comportamento para uma conversão específica, especifique a página de código como o segundo parâmetro para o construtor da classe.

As seguintes macros são baseadas nessa classe:

  • CA2TEX

  • CA2CTEX

  • CT2WEX

  • CT2CWEX

O seguinte typedef baseia-se nessa classe:

  • CA2W

Para ver uma discussão sobre essas macros de conversão de texto, confira Macros de conversão de cadeia de caracteres da ATL e MFC.

Exemplo

Confira Macros de conversão de cadeia de caracteres da ATL e MFC para obter um exemplo de como usar essas macros de conversão de cadeia de caracteres.

Requisitos

Cabeçalho: atlconv.h

CA2WEX::CA2WEX

O construtor .

CA2WEX(LPCSTR psz, UINT nCodePage) throw(...);
CA2WEX(LPCSTR psz) throw(...);

Parâmetros

psz
A cadeia de caracteres de texto a ser convertida.

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

Comentários

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

CA2WEX::~CA2WEX

O destruidor.

~CA2WEX() throw();

Comentários

Libera o buffer alocado.

CA2WEX::m_psz

O membro de dados que armazena a cadeia de caracteres fonte.

LPWSTR m_psz;

CA2WEX::m_szBuffer

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

wchar_t m_szBuffer[t_nBufferLength];

CA2WEX::operator LPWSTR

Operador de conversão.

operator LPWSTR() const throw();

Valor de retorno

Retorna a cadeia de caracteres de texto como tipo LPWSTR.

Confira também

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