Compartir a través de


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