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
Öffentliche Konstruktoren
Name |
Description |
---|---|
Erstellt ein Objekt CStringT auf verschiedene Arten. |
|
Zerstört ein CStringT-Objekt. |
Öffentliche Methoden
Name |
Description |
---|---|
Ordnet BSTR von CStringT Daten. |
|
Führt eine direkte Konvertierung vom ANSI-Zeichensatz zum OEM-Zeichensatz. |
|
Appends formatierte Daten zu einem vorhandenen CStringT-Objekt. |
|
Vergleicht zwei Zeichenfolgen (Groß-/Kleinschreibung, gebietsschemaspezifische Informationen der Verwendung). |
|
Vergleicht zwei Zeichenfolgen (die Groß-/Kleinschreibung nicht beachtet, gebietsschemaspezifische Informationen der Verwendung). |
|
Vergleicht zwei Zeichenfolgen (Groß-/Kleinschreibung beachten). |
|
Vergleicht zwei Zeichenfolgen (Kleinschreibung). |
|
Löscht ein Zeichen oder Zeichen aus einer Zeichenfolge. |
|
Sucht ein Zeichen oder einer Teilzeichenfolge in einer größeren Zeichenfolge. |
|
Sucht das erste übereinstimmende Zeichen aus einem Satz. |
|
Formatiert die Zeichenfolge, wie sprintf ausführt. |
|
Formatiert eine Meldungszeichenfolge. |
|
Formatiert eine Meldungszeichenfolge mithilfe einer Variablenargumentlisten. |
|
Formatiert die Zeichenfolge mit einer variablen Liste der Argumente. |
|
Legt die Zeichenfolge an den Wert der angegebenen Umgebungsvariablen fest. |
|
Fügt ein einzelnes Zeichen oder eine Teilzeichenfolge am angegebenen Index in der Zeichenfolge ein. |
|
Gibt den linken Teil einer Zeichenfolge. |
|
Lädt ein vorhandenes CStringT-Objekt von einer Windows. |
|
Konvertiert alle Zeichen in dieser Zeichenfolge mit den Kleinbuchstaben. |
|
Gibt die Zeichenfolge um. |
|
Konvertiert alle Zeichen in dieser Zeichenfolge in Großbuchstaben um. |
|
Gibt den mittleren Teil einer Zeichenfolge. |
|
Führt eine direkte Konvertierung vom OEM-Zeichensatz zum ANSI-Zeichensatz. |
|
Entfernt angegebene Zeichen aus einer Zeichenfolge. |
|
Replaces gab Zeichen mit anderen Zeichen. |
|
Sucht ein Zeichen in einer größeren Zeichenfolge; ausgehend vom Ende ab. |
|
Gibt den rechten Teil einer Zeichenfolge. |
|
Legt ein vorhandenes BSTR-Objekt mit Daten von einem CStringT-Objekt fest. |
|
Extrahiert Zeichen aus der Zeichenfolge, beginnend mit dem ersten Zeichen, die nicht im Satz von Zeichen sind, die durch pszCharSet identifiziert werden. |
|
Gibt eine Teilzeichenfolge, die nur die Zeichen in einem Satz enthält. |
|
Auszüge angegebene Token in einer Zielzeichenfolge. |
|
Schneidet alle führenden und nachgestellten Leerraumzeichen von der Zeichenfolge. |
|
Ordnungen Leerraumzeichen, die aus der Zeichenfolge übergeben. |
|
Ordnungen Leerraumzeichen, die aus der Zeichenfolge schleppen. |
Operatoren
Weist einen neuen Wert zu einem CStringT-Objekt zu. |
|
Verkettet zwei Zeichenfolgen oder ein Zeichen und eine Zeichenfolge. |
|
Verkettet eine neue Zeichenfolge am Ende einer vorhandenen Zeichenfolge. |
|
Bestimmt, ob zwei Zeichenfolgen logisch gleich sind. |
|
Bestimmt, ob zwei Zeichenfolgen logisch nicht gleich sind. |
|
Bestimmt, ob die Zeichenfolge auf der linken Seite des Operators kleiner als zur Zeichenfolge auf der rechten Seite ist. |
|
Bestimmt, ob die Zeichenfolge auf der linken Seite des Operators größer als zur Zeichenfolge auf der rechten Seite ist. |
|
Bestimmt, ob die Zeichenfolge auf der linken Seite des Operators kleiner oder gleich der Zeichenfolge auf der rechten Seite ist. |
|
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.
Hinweis |
---|
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.
Hinweis |
---|
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.
Hinweis |
---|
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. |
Hinweis |
---|
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
CStringT
Anforderungen
Header |
Verwendungszweck |
---|---|
cstringt.h |
nur für MFC Zeichenfolgenobjekte |
atlstr.h |
Zeichenfolgenobjekte MFC-fremde |