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