CStringT-Klasse

Diese Klasse stellt ein CStringT-Objekt dar.

template< typename BaseType, class StringTraits >
class CStringT : 
public CSimpleStringT<   BaseType,   _CSTRING_IMPL_::_MFCDLLTraitsCheck<      BaseType,      StringTraits   >   ::c_bIsMFCDLLTraits>

Parameter

  • BaseType
    Der Zeichentyp der Zeichenfolgenklasse.Einer der folgenden Werte ist möglich:

    • char (für ANSI-Zeichenfolgen).

    • wchar_t (für Unicode-Zeichenfolgen).

    • TCHAR (für ANSI und Unicode-Zeichenfolgen).

  • StringTraits
    Bestimmt, ob die Zeichenfolgenklasse Bibliotheksunterstützung der C-Laufzeit-(CRT) erfordert und wo Zeichenfolgenressourcen lokalisiert werden.Einer der folgenden Werte ist möglich:

    • StrTraitATL<-wchar t | char | TCHAR, ChTraitsCRT<-wchar t | char | TCHAR > >

      Die Klasse benötigt CRT-Unterstützung und Datenbanksuchen für Ressourcenzeichenfolgen im Modul, das von m_hInstResource angegeben wird (Mitglied der Applikationsmodulklasse).

    • StrTraitATL<-wchar t | char | TCHAR, ChTraitsOS<-wchar t | char | TCHAR > >

      Die Klasse ist nicht CRT-Unterstützung und Datenbanksuchen für Ressourcenzeichenfolgen im Modul, das von m_hInstResource angegeben wird (Mitglied der Applikationsmodulklasse).

    • StrTraitMFC<-wchar t | char | TCHAR, ChTraitsCRT<-wchar t | char | TCHAR > >

      Die Klasse benötigt CRT-Unterstützung und Datenbanksuchen für Ressourcenzeichenfolgen mithilfe des Suchalgorithmus mit MFC.

    • StrTraitMFC<-wchar t | char | TCHAR, ChTraitsOS<-wchar t | char | TCHAR > >

      Die Klasse benötigt CRT-Unterstützung und Datenbanksuchen für Ressourcenzeichenfolgen nicht mithilfe des Suchalgorithmus mit MFC.

Mitglieder

5bzxfsea.collapse_all(de-de,VS.110).gifÖffentliche Konstruktoren

Name

Description

CStringT::CStringT

Erstellt ein Objekt CStringT auf verschiedene Arten.

CStringT::~CStringT

Zerstört ein CStringT-Objekt.

5bzxfsea.collapse_all(de-de,VS.110).gifÖffentliche Methoden

Name

Description

CStringT::AllocSysString

Ordnet BSTR von CStringT Daten.

CStringT::AnsiToOem

Führt eine direkte Konvertierung vom ANSI-Zeichensatz zum OEM-Zeichensatz.

CStringT::AppendFormat

Appends formatierte Daten zu einem vorhandenen CStringT-Objekt.

CStringT::Collate

Vergleicht zwei Zeichenfolgen (Groß-/Kleinschreibung, gebietsschemaspezifische Informationen der Verwendung).

CStringT::CollateNoCase

Vergleicht zwei Zeichenfolgen (die Groß-/Kleinschreibung nicht beachtet, gebietsschemaspezifische Informationen der Verwendung).

CStringT::Compare

Vergleicht zwei Zeichenfolgen (Groß-/Kleinschreibung beachten).

CStringT::CompareNoCase

Vergleicht zwei Zeichenfolgen (Kleinschreibung).

CStringT::Delete

Löscht ein Zeichen oder Zeichen aus einer Zeichenfolge.

CStringT::Find

Sucht ein Zeichen oder einer Teilzeichenfolge in einer größeren Zeichenfolge.

CStringT::FindOneOf

Sucht das erste übereinstimmende Zeichen aus einem Satz.

CStringT::Format

Formatiert die Zeichenfolge, wie sprintf ausführt.

CStringT::FormatMessage

Formatiert eine Meldungszeichenfolge.

CStringT::FormatMessageV

Formatiert eine Meldungszeichenfolge mithilfe einer Variablenargumentlisten.

CStringT::FormatV

Formatiert die Zeichenfolge mit einer variablen Liste der Argumente.

CStringT::GetEnvironmentVariable

Legt die Zeichenfolge an den Wert der angegebenen Umgebungsvariablen fest.

CStringT::Insert

Fügt ein einzelnes Zeichen oder eine Teilzeichenfolge am angegebenen Index in der Zeichenfolge ein.

CStringT::Left

Gibt den linken Teil einer Zeichenfolge.

CStringT::LoadString

Lädt ein vorhandenes CStringT-Objekt von einer Windows.

CStringT::MakeLower

Konvertiert alle Zeichen in dieser Zeichenfolge mit den Kleinbuchstaben.

CStringT::MakeReverse

Gibt die Zeichenfolge um.

CStringT::MakeUpper

Konvertiert alle Zeichen in dieser Zeichenfolge in Großbuchstaben um.

CStringT::Mid

Gibt den mittleren Teil einer Zeichenfolge.

CStringT::OemToAnsi

Führt eine direkte Konvertierung vom OEM-Zeichensatz zum ANSI-Zeichensatz.

CStringT::Remove

Entfernt angegebene Zeichen aus einer Zeichenfolge.

CStringT::Replace

Replaces gab Zeichen mit anderen Zeichen.

CStringT::ReverseFind

Sucht ein Zeichen in einer größeren Zeichenfolge; ausgehend vom Ende ab.

CStringT::Right

Gibt den rechten Teil einer Zeichenfolge.

CStringT::SetSysString

Legt ein vorhandenes BSTR-Objekt mit Daten von einem CStringT-Objekt fest.

CStringT::SpanExcluding

Extrahiert Zeichen aus der Zeichenfolge, beginnend mit dem ersten Zeichen, die nicht im Satz von Zeichen sind, die durch pszCharSet identifiziert werden.

CStringT::SpanIncluding

Gibt eine Teilzeichenfolge, die nur die Zeichen in einem Satz enthält.

CStringT::Tokenize

Auszüge angegebene Token in einer Zielzeichenfolge.

CStringT::Trim

Schneidet alle führenden und nachgestellten Leerraumzeichen von der Zeichenfolge.

CStringT::TrimLeft

Ordnungen Leerraumzeichen, die aus der Zeichenfolge übergeben.

CStringT::TrimRight

Ordnungen Leerraumzeichen, die aus der Zeichenfolge schleppen.

5bzxfsea.collapse_all(de-de,VS.110).gifOperatoren

CStringT::operator =

Weist einen neuen Wert zu einem CStringT-Objekt zu.

CStringT::operator +

Verkettet zwei Zeichenfolgen oder ein Zeichen und eine Zeichenfolge.

CStringT::operator +=

Verkettet eine neue Zeichenfolge am Ende einer vorhandenen Zeichenfolge.

CStringT::operator-==

Bestimmt, ob zwei Zeichenfolgen logisch gleich sind.

CStringT::operator! =

Bestimmt, ob zwei Zeichenfolgen logisch nicht gleich sind.

CStringT::operator <

Bestimmt, ob die Zeichenfolge auf der linken Seite des Operators kleiner als zur Zeichenfolge auf der rechten Seite ist.

CStringT::operator >

Bestimmt, ob die Zeichenfolge auf der linken Seite des Operators größer als zur Zeichenfolge auf der rechten Seite ist.

CStringT::operator-<=

Bestimmt, ob die Zeichenfolge auf der linken Seite des Operators kleiner oder gleich der Zeichenfolge auf der rechten Seite ist.

CStringT::operator->=

Bestimmt, ob die Zeichenfolge auf der linken Seite des Operators größer oder gleich der Zeichenfolge auf der rechten Seite ist.

Hinweise

CStringT erbt von CSimpleStringT-Klasse.Erweiterte Funktionen, z Zeichenmanipulation, Reihenfolge und Suchen, werden durch CStringT implementiert.

HinweisHinweis

CStringT-Objekte sind zum Auslösen von Ausnahmen anzeigen.Dies tritt wenn die CStringT-Objekt wird auf, die für jeden Grund aufgrund ungenügenden Arbeitsspeichers sind.

Ein Objekt CStringT besteht aus einer Sequenz mit variabler Länge von Zeichen.CStringT bietet Funktionen und Operatoren, die die Syntax verwenden, die der von Basic ähnelt.Verkettung und Vergleichsoperatoren, zusammen mit vereinfachter Speicherverwaltung, machen CStringT-Objekte einfacher als gewöhnliche Zeichenarrays zu verwenden.

HinweisHinweis

Obwohl es möglich ist, CStringT-Instanzen zu erstellen, die eingebettete NULL-Zeichen aufweisen, empfiehlt es sich für diese.Aufrufen von Methoden und Operatoren auf CStringT-Objekten, die eingebettete NULL-Zeichen aufweisen, können zu unerwarteten Ergebnissen führen.

Indem sie unterschiedliche Kombinationen der BaseType und StringTraits-Parameter verwenden, können CStringT-Objekte in die folgenden Typen stammen, die sind vordefiniert wurde durch die ATL-Bibliotheken sind.

Bei Verwendung von in einer ATL-Anwendung:

CString, CStringA und CStringW werden von der MFC-DLL (MFC90.DLL), nie vom Benutzer DLL exportiert.Dies geschieht, um zu verhindern, dass CStringT mehrfach definiert ist.

HinweisHinweis

Wenn Sie Linkerfehler als, antrafen CString Exportieren von abgeleitete Klasse von einer MFC-Erweiterungs-DLL in Visual C++ .NET 2002 und die Problemumgehung angewendet haben, wie im Knowledge Base-Artikel beschrieben, "Fehler, wenn Sie CString-Abgeleitete Klassen" (importieren Q309801), sollten Sie den geeigneten Problemumgehungscode entfernen, da dies in Visual C++ .NET 2003 behoben wurde.Knowledge Base-Artikel finden Sie auf der MSDN Library-CD-ROM oder unter https://support.microsoft.com/default.aspx.

Die folgenden Zeichenfolgentypen sind innerhalb der MFC-basierten Anwendungen verfügbar:

CStringT-Typ

Deklaration

CStringA

Eine ANSI-Zeichen-Typzeichenfolge mit CRT-Unterstützung.

CStringW

Eine Unicode-Zeichentypzeichenfolge mit CRT-Unterstützung.

CString

ANSI- und Unicode-Schrifttypen mit CRT-Unterstützung.

Die folgenden Zeichenfolgentypen sind in den Projekten, in denen ATL_CSTRING_NO_CRT definiert ist:

CStringT-Typ

Deklaration

CAtlStringA

Eine ANSI-Zeichen-Typzeichenfolge ohne CRT-Unterstützung.

CAtlStringW

Eine Unicode-Zeichentypzeichenfolge ohne CRT-Unterstützung.

CAtlString

ANSI- und Unicode-Schrifttypen ohne CRT-Unterstützung.

Die folgenden Zeichenfolgentypen sind in den Projekten, in denen ATL_CSTRING_NO_CRT nicht definiert ist:

CStringT-Typ

Deklaration

CAtlStringA

Eine ANSI-Zeichen-Typzeichenfolge mit CRT-Unterstützung.

CAtlStringW

Eine Unicode-Zeichentypzeichenfolge mit CRT-Unterstützung.

CAtlString

ANSI- und Unicode-Schrifttypen mit CRT-Unterstützung.

CString-Objekte sind außerdem die folgenden Eigenschaften:

  • CStringT-Objekte können aufgrund der Verkettungsvorgänge wachsen.

  • CStringT-Objekte folgen "Wertsemantik bezeichnet." Wägen Sie ein CStringT-Objekt als tatsächliche Zeichenfolge, nicht als Zeiger auf eine Zeichenfolge.

  • Sie können CStringT-Objekte für PCXSTR-Funktionsargumente frei ersetzen.

  • Benutzerdefinierte Speicherverwaltung für Zeichenfolgenpuffer.Weitere Informationen finden Sie unter Speicherverwaltung und CStringT.

CStringT definierte Typen vor

Da CStringT ein Vorlagenargument verwendet, um zu definieren, der nicht unterstützte (entweder wchar_t oder char-Methodenparametertypen), kann manchmal erschwert werden.Um dieses Problem zu vereinfachen, wird ein Satz vordefinierter Typen während der CStringT-Klasse definiert und verwendet.In der folgenden Tabelle sind die verschiedenen Typen auf:

Name

Description

XCHAR

Ein einzelnes Zeichen (entweder wchar_t oder char) mit demselben Zeichentyp wie das CStringT-Objekt.

YCHAR

Ein einzelnes Zeichen (entweder wchar_t oder char) mit dem gegenüberliegenden Zeichentyp als dem CStringT-Objekt.

PXSTR

Ein Zeiger auf eine Zeichenfolge (entweder wchar_t oder char) mit demselben Zeichentyp wie das CStringT-Objekt.

PYSTR

Ein Zeiger auf eine Zeichenfolge (entweder wchar_t oder char) mit dem gegenüberliegenden Zeichentyp als dem CStringT-Objekt.

PCXSTR

Ein Zeiger auf eine Zeichenfolge const (entweder wchar_t oder char) mit demselben Zeichentyp wie das CStringT-Objekt.

PCYSTR

Ein Zeiger auf eine Zeichenfolge const (entweder wchar_t oder char) mit dem gegenüberliegenden Zeichentyp als dem CStringT-Objekt.

HinweisHinweis

Code, dass zuvor verwendete nicht dokumentierten Methoden von CString (z AssignCopy) durch Code ersetzt werden müssen, der die folgenden dokumentierten Methoden von CStringT verwendet (z GetBuffer oder ReleaseBuffer).Diese Methoden werden von CSimpleStringT geerbt.

Vererbungshierarchie

CSimpleStringT

CStringT

Anforderungen

Header

Verwendungszweck

cstringt.h

nur für MFC Zeichenfolgenobjekte

atlstr.h

Zeichenfolgenobjekte MFC-fremde

Siehe auch

Referenz

Hierarchien-Diagramm

CSimpleStringT-Klasse

Weitere Ressourcen

Freigegebene Klassen ATL/MFC