Nota
O acesso a esta página requer autorização. Podes tentar iniciar sessão ou mudar de diretório.
O acesso a esta página requer autorização. Podes tentar mudar de diretório.
Classe
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:
CT2AEXCW2TEXCW2CTEXCT2CAEX
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çalho: atlconv.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 retorno
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 aula