Clase CW2AEX
Esta clase se usa en las macros de conversión de cadenas CT2AEX
, CW2TEX
, CW2CTEX
y CT2CAEX
y en la definición de tipo CW2A
.
Importante
Esta clase y sus miembros no se pueden usar en las aplicaciones que se ejecutan en Windows Runtime.
Sintaxis
template<int t_nBufferLength = 128>
class CW2AEX
Parámetros
t_nBufferLength
El tamaño del búfer usado en el proceso de traducción. La longitud predeterminada es de 128 bytes.
Miembros
Constructores públicos
Nombre | Descripción |
---|---|
CW2AEX::CW2AEX |
Constructor . |
CW2AEX::~CW2AEX |
El destructor . |
Operadores públicos
Nombre | Descripción |
---|---|
CW2AEX::operator LPSTR | Operador de conversión. |
Miembros de datos públicos
Nombre | Descripción |
---|---|
CW2AEX::m_psz |
Miembro de datos que almacena la cadena de origen. |
CW2AEX::m_szBuffer |
El búfer estático que se usa para almacenar la cadena convertida. |
Comentarios
A menos que se requiera funcionalidad adicional, use CT2AEX
, CW2TEX
, CW2CTEX
, CT2CAEX
o CW2A
en el código.
Esta clase contiene un búfer estático de tamaño fijo que se usa para almacenar el resultado de la conversión. Si el resultado es demasiado grande y no encaja en el búfer estático, la clase asigna memoria mediante malloc
, memoria que libera cuando el objeto se sale del ámbito. Esto garantiza que, a diferencia de las macros de conversión de texto disponibles en versiones anteriores de ATL, esta clase es segura para usar en bucles y que no desborde la pila.
Si la clase intenta asignar memoria en el montón y produce un error, llamará a AtlThrow
con un argumento de E_OUTOFMEMORY
.
Las macros y clases de conversión de ATL usarán de forma predeterminada la página de códigos ANSI del subproceso actual para la conversión. Si desea invalidar este comportamiento en una conversión concreta, indique la página de código como segundo parámetro del constructor de la clase.
Las siguientes macros se basan en esta clase:
CT2AEX
CW2TEX
CW2CTEX
CT2CAEX
La siguiente definición de tipo se basa en esta clase:
CW2A
Para obtener una explicación de estas macros de conversión de texto, vea Macros de conversión de cadenas ATL y MFC.
Ejemplo
Consulte Macros de conversión de cadenas ATL y MFC para ver un ejemplo de uso de estas macros de conversión de cadena.
Requisitos
Encabezado: atlconv.h
CW2AEX::CW2AEX
Constructor .
CW2AEX(LPCWSTR psz, UINT nCodePage) throw(...);
CW2AEX(LPCWSTR psz) throw(...);
Parámetros
psz
La cadena de texto que se va a convertir.
nCodePage
Página de códigos que se usa para realizar la conversión. Consulte la explicación de parámetros de la página de códigos para la función MultiByteToWideChar
de Windows SDK para obtener más detalles.
Comentarios
Asigna el búfer usado en el proceso de traducción.
CW2AEX::~CW2AEX
El destructor .
~CW2AEX() throw();
Comentarios
Libera el búfer asignado.
CW2AEX::m_psz
Miembro de datos que almacena la cadena de origen.
LPSTR m_psz;
CW2AEX::m_szBuffer
El búfer estático que se usa para almacenar la cadena convertida.
char m_szBuffer[t_nBufferLength];
CW2AEX::operator LPSTR
Operador de conversión.
operator LPSTR() const throw();
Valor devuelto
Devuelve la cadena de texto como tipo LPSTR
.
Consulte también
CA2AEX
(clase)
CA2CAEX
(clase)
CA2WEX
(clase)
CW2CWEX
(clase)
CW2WEX
(clase)
Información general sobre la clase