Freigeben über


Using CString

In den Themen in diesem Abschnitt wird die Programmierung mit CString beschrieben. Referenzdokumentation über die CString-Klasse finden Sie in der Dokumentation für CStringT.

Schließen Sie zum Verwenden von CString den atlstr.h-Header ein.

Die CString-, CStringA- und CStringW-Klassen sind Spezialisierungen einer Klassenvorlage namens CStringT, basierend auf dem Typ der unterstützten Zeichendaten.

Ein CStringW-Objekt enthält den wchar_t-Typ und unterstützt Unicode-Zeichenfolgen. Ein CStringA-Objekt enthält den char-Typ und unterstützt Singlebyte- und Multibyte (MBCS)-Zeichenfolgen. Ein CString-Objekt unterstützt den char-Typ oder den wchar_t-Typ, je nachdem, ob das MBCS-Symbol oder das UNICODE-Symbol bei der Kompilierung definiert wurde.

Ein CString-Objekt hält Zeichendaten in einem CStringData-Objekt. CString akzeptiert mit null abschließende Zeichenfolgen im C-Format, bewahrt jedoch nicht das null-Zeichen in den gespeicherten Zeichendaten. Stattdessen verfolgt CString die Zeichenfolgenlänge. CString bietet ein Null-Abschlusszeichen, wenn eine Zeichenfolge im C-Format exportiert wird. Sie können eine null in einen CString einfügen, dies kann jedoch zu unerwarteten Ergebnissen führen.

Der folgende Satz an Zeichenfolgenklassen kann ohne Verknüpfung einer MFC-Bibliothek mit oder ohne CRT-Support verwendet werden: CAtlString, CAtlStringA und CAtlStringW.

CString wird in nativen Projekten verwendet. Verwenden Sie für Projekte mit verwaltetem Code (C++/CLI) System::String.

Um mehr Funktionen hinzuzufügen als CString, CStringA oder CStringW derzeit bieten, sollten Sie eine Unterklasse von CStringT erstellen, die die zusätzlichen Funktionen enthält.

Der folgende Code zeigt, wie Sie einen CString erstellen und als Standardausgabe drucken können:

#include <atlstr.h>

int main() {
    CString aCString = CString(_T("A string"));
    _tprintf(_T("%s"), (LPCTSTR) aCString);
}

In diesem Abschnitt

Referenz

Verwandte Abschnitte

  • Strings (ATL/MFC)
    Enthält Links zu Themen, in denen verschiedene Methoden zum Verwalten von Zeichenfolgendaten beschrieben werden.

  • Klassenvorlageninstanziierung
    CString ist eine typedef, basierend auf CStringT, einer Instanz einer Spezialisierung einer Klassenvorlage.

Strings (ATL/MFC)