Classe CW2AEX

Essa classe é usada pelas macros de conversão de cadeia de caracteres CT2AEX, CW2TEX, CW2CTEX e CT2CAEX, e pelo typedef CW2A.

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 CW2AEX

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

Operadores públicos

Nome Descrição
CW2AEX::operator LPSTR Operador de conversão.

Membros de Dados Públicos

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

Comentários

A menos que a funcionalidade extra seja necessária, use CT2AEX, CW2TEX, CW2CTEX, CT2CAEX ou CW2A 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 é muito grande para caber no buffer estático, a classe aloca memória usando malloc, liberando a memória quando o objeto sai 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:

  • CT2AEX

  • CW2TEX

  • CW2CTEX

  • CT2CAEX

O seguinte typedef baseia-se nessa classe:

  • CW2A

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çalhoatlconv.h:

CW2AEX::CW2AEX

O construtor .

CW2AEX(LPCWSTR psz, UINT nCodePage) throw(...);
CW2AEX(LPCWSTR 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. Confira 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.

CW2AEX::~CW2AEX

O destruidor.

~CW2AEX() throw();

Comentários

Libera o buffer alocado.

CW2AEX::m_psz

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

LPSTR m_psz;

CW2AEX::m_szBuffer

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

char m_szBuffer[t_nBufferLength];

CW2AEX::operator LPSTR

Operador de conversão.

operator LPSTR() const throw();

Valor de Devolução

Retorna a cadeia de caracteres de texto como tipo LPSTR.

Confira também

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