Zeichenfolge-Konvertierung Makros

Die Zeichenfolge-Konvertierung Makros hier besprochenen gelten für ATL und MFC. Weitere Informationen über MFC-Zeichenfolgenkonvertierung, finden Sie unter TN059: Using MFC MBCS/Unicode-Konvertierung Makros und MFC-Makros und Globals.

Die Syntax der Zeichenfolge-Konvertierung Makros ist:

MAKRONAME ( String_address )

Zum Beispiel:

A2W(lpa)

In der Makronamen der Quelle String-Typ ist auf der linken Seite (z. B. A) und der Ziel-String-Typ ist auf der rechten Seite (z. B. W). A steht für LPSTR, OLE steht für LPOLESTR, T steht für LPTSTRund w steht für LPWSTR.

So A2W konvertiert ein LPSTR in ein LPWSTR, OLE2T konvertiert eine LPOLESTR in eine LPTSTRusw.

Der Zielzeichenfolge ist mit _Alloca, außer wenn der Zieltyp BSTRist erstellt. Mit _Alloca reserviert Speicher aus dem Stapel, so dass wenn die Funktion zurückgibt, es ist automatisch bereinigt.

Wenn ein C in der Makroname vorhanden ist, konvertiert das Makro in einer const String. W2CA konvertiert beispielsweise ein LPWSTR in ein LPCSTR.

Hinweis&Nbsp;  Wenn Sie einen ATL-Zeichenfolge Konvertierung Makro verwenden, geben Sie das USES_CONVERSION -Makro am Anfang der Funktion an, um die um Compilerfehler zu vermeiden. Zum Beispiel:

void Func (LPSTR Lpsz)
{
 &Nbsp; DAS USES_CONVERSION;
   ...
   LPWSTR X = A2W(lpsz)
   / / TU etwas mit x
   ...
}

Das Verhalten der ATL Zeichenfolge-Konvertierung Makros hängt die Compiler-Direktive in Kraft, falls vorhanden. Wenn die Quell- und Ziel-Typen identisch sind, findet keine Konvertierung statt. Compiler-Direktiven ändern wie folgt, T und OLE:

Compiler-Direktive in Kraft T wird OLE wird
keine A W
_UNICODE W W
OLE2ANSI A A
_UNICODE und OLE2ANSI W A

Die folgende Tabelle listet die ATL Zeichenfolge-Konvertierung Makros.

ATL-String-Konvertierung Makros

A2BSTR OLE2A T2A W2A
A2COLE OLE2BSTR T2BSTR W2BSTR
A2CT OLE2CA T2CA W2CA
A2CW OLE2CT T2COLE W2COLE
A2OLE OLE2CW T2CW W2CT
A2T OLE2T T2OLE W2OLE
A2W OLE2W T2W W2T

ATL-Makros und globale Funktionen

Siehe auch

DEVMODE und TEXTMETRIC String-Konvertierung Makros

Index