Freigeben über


CW2AEX-Klasse

Diese Klasse wird von den Zeichenfolgenkonvertierungsmakros CT2AEX, CW2TEX, CW2CTEX, und CT2CAEXdie Typedef CW2Averwendet.

Wichtig

Diese Klasse und ihre Member können nicht in Anwendungen verwendet werden, die in der Windows-Runtime ausgeführt werden.

Syntax

template<int t_nBufferLength = 128>
class CW2AEX

Parameter

t_nBufferLength
Die Größe des puffers, der im Übersetzungsprozess verwendet wird. Die Standardlänge beträgt 128 Bytes.

Member

Öffentliche Konstruktoren

Name Beschreibung
CW2AEX::CW2AEX Der Konstruktor.
CW2AEX::~CW2AEX Der Destruktor.

Öffentliche Operatoren

Name Beschreibung
CW2AEX::operator LPSTR Konvertierungsoperator.

Öffentliche Datenmember

Name Beschreibung
CW2AEX::m_psz Das Datenelement, das die Quellzeichenfolge speichert.
CW2AEX::m_szBuffer Der statische Puffer, der zum Speichern der konvertierten Zeichenfolge verwendet wird.

Hinweise

Sofern keine zusätzlichen Funktionen erforderlich sind, verwenden CT2AEXSie , , CW2TEX, CW2CTEX, , CT2CAEXoder CW2A in Ihrem Code.

Diese Klasse enthält einen statischen Puffer mit fester Größe, der zum Speichern des Ergebnisses der Konvertierung verwendet wird. Wenn das Ergebnis zu groß ist, um in den statischen Puffer einzupassen, weist die Klasse Arbeitsspeicher zu, mallocwobei der Speicher freigegeben wird, wenn das Objekt den Bereich nicht überschreitet. Dadurch wird sichergestellt, dass diese Klasse im Gegensatz zu Textkonvertierungsmakros, die in früheren Versionen von ATL verfügbar sind, sicher in Schleifen verwendet werden kann und der Stapel nicht überläuft.

Wenn die Klasse versucht, Speicher für den Heap zuzuweisen und fehlschlägt, wird AtlThrow sie mit einem Argument von E_OUTOFMEMORY.

Standardmäßig verwenden die ATL-Konvertierungsklassen und -Makros die ANSI-Codeseite des aktuellen Threads für die Konvertierung. Wenn Sie dieses Verhalten für eine bestimmte Konvertierung außer Kraft setzen möchten, geben Sie die Codeseite als zweiten Parameter für den Konstruktor für die Klasse an.

Die folgenden Makros basieren auf dieser Klasse:

  • CT2AEX

  • CW2TEX

  • CW2CTEX

  • CT2CAEX

Der folgende Typedef basiert auf dieser Klasse:

  • CW2A

Eine Erläuterung dieser Textkonvertierungsmakros finden Sie unter ATL- und MFC-Zeichenfolgenkonvertierungsmakros.

Beispiel

Ein Beispiel für die Verwendung dieser Zeichenfolgenkonvertierungsmakros finden Sie unter ATL- und MFC-Zeichenfolgenkonvertierungsmakros.

Anforderungen

Header: atlconv.h

CW2AEX::CW2AEX

Der Konstruktor.

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

Parameter

psz
Die zu konvertierende Textzeichenfolge.

nCodePage
Die Codeseite, die zum Ausführen der Konvertierung verwendet wird. Weitere Informationen finden Sie in der Diskussion zu den Codeseitenparametern für die Windows SDK-Funktion MultiByteToWideChar .

Hinweise

Weist den puffer zu, der im Übersetzungsprozess verwendet wird.

CW2AEX::~CW2AEX

Der Destruktor.

~CW2AEX() throw();

Hinweise

Gibt den zugeordneten Puffer frei.

CW2AEX::m_psz

Das Datenelement, das die Quellzeichenfolge speichert.

LPSTR m_psz;

CW2AEX::m_szBuffer

Der statische Puffer, der zum Speichern der konvertierten Zeichenfolge verwendet wird.

char m_szBuffer[t_nBufferLength];

CW2AEX::operator LPSTR

Konvertierungsoperator.

operator LPSTR() const throw();

Rückgabewert

Gibt die Textzeichenfolge als Typ LPSTRzurück.

Siehe auch

CA2AEX Klasse
CA2CAEX Klasse
CA2WEX Klasse
CW2CWEX Klasse
CW2WEX Klasse
Klassenübersicht