CW2AEX Class

 

This class is used by the string conversion macros CT2AEX, CW2TEX, CW2CTEX, and CT2CAEX, and the typedef CW2A.

System_CAPS_ICON_important.jpg Important

This class and its members cannot be used in applications that execute in the Windows Runtime.

template<int t_nBufferLength = 128>  class CW2AEX

Parameters

t_nBufferLength
The size of the buffer used in the translation process. The default length is 128 bytes.

Public Constructors

NameDescription
CW2AEX::CW2AEXThe constructor.
CW2AEX::~CW2AEXThe destructor.

Public Operators

NameDescription
CW2AEX::operator LPSTRConversion operator.

Public Data Members

NameDescription
CW2AEX::m_pszThe data member that stores the source string.
CW2AEX::m_szBufferThe static buffer, used to store the converted string.

Unless extra functionality is required, use CT2AEX, CW2TEX, CW2CTEX, CT2CAEX, or CW2A in your code.

This class contains a fixed-size static buffer which is used to store the result of the conversion. If the result is too large to fit into the static buffer, the class allocates memory using malloc, freeing the memory when the object goes out of scope. This ensures that, unlike text conversion macros available in previous versions of ATL, this class is safe to use in loops and that it won't overflow the stack.

If the class tries to allocate memory on the heap and fails, it will call AtlThrow with an argument of E_OUTOFMEMORY.

By default, the ATL conversion classes and macros use the current thread's ANSI code page for the conversion. If you want to override that behavior for a specific conversion, specify the code page as the second parameter to the constructor for the class.

The following macros are based on this class:

  • CT2AEX

  • CW2TEX

  • CW2CTEX

  • CT2CAEX

The following typedef is based on this class:

  • CW2A

For a discussion of these text conversion macros, see ATL and MFC String Conversion Macros.

See ATL and MFC String Conversion Macros for an example of using these string conversion macros.

Header: atlconv.h

The constructor.

CW2AEX(LPCWSTR psz,  UINT nCodePage) throw(...);

    CW2AEX(LPCWSTR psz) throw(...);

Parameters

psz
The text string to be converted.

nCodePage
The code page used to perform the conversion. See the code page parameter discussion for the Windows SDK function MultiByteToWideChar for more details.

Remarks

Allocates the buffer used in the translation process.

The destructor.

~CW2AEX() throw();

Remarks

Frees the allocated buffer.

The data member that stores the source string.

LPSTR m_psz;

The static buffer, used to store the converted string.

char m_szBuffer[ t_nBufferLength
 ];

Conversion operator.

Return Value

Returns the text string as type LPSTR.

CA2AEX Class
CA2CAEX Class
CA2WEX Class
CW2CWEX Class
CW2WEX Class
Class Overview

Show: