CStringT::Replace
Es gibt zwei Versionen von Replace. Die erste Version ersetzt eine oder mehrere Kopien einer Teilzeichenfolge, indem eine andere Zeichenfolge verwendet. Beide Teilzeichenfolgen sind auf NULL endende. Die zweite Version ersetzt eine oder mehrere Kopien eines Zeichens, indem ein anderes Zeichen verwendet. Beide Versionen werden auf die Textdaten ausgeführt werden, die in CStringT gespeichert werden.
int Replace(
PCXSTR pszOld,
PCXSTR pszNew
);
int Replace(
XCHAR chOld,
XCHAR chNew
);
Parameter
pszOld
Ein Zeiger auf eine auf NULL endende durch pszNew ersetzt werden, Zeichenfolge.pszNew
Ein Zeiger auf eine auf NULL endende Zeichenfolge, die pszOld ersetzt.chOld
Das durch chNew ersetzt werden Zeichen.chNew
Das Zeichen, das chOld ersetzt.
Rückgabewert
Gibt die Anzahl der ersetzten Instanzen des Zeichens oder der Teilzeichenfolge oder null zurück, wenn die Zeichenfolge nicht geändert wird.
Hinweise
Replace kann die Zeichenfolgenlänge ändern, da pszNew und pszOld nicht dieselbe Länge sein müssen, und mehrere Kopien der alten Teilzeichenfolge können in die geändert werden. Die Funktion führt eine die Groß- und Kleinschreibung beachtet aus.
Beispiele für CStringT-Instanzen sind CString, CStringA und CStringW.
Für CStringA funktioniert Replace mit ANSI oder vom Zeichen (MBCS). Für CStringW funktioniert Replace mit Breitzeichen.
Für CString wird der Zeichendatentyp zur Kompilierzeit, auf Grundlage ausgewählt, ob die Konstanten in der folgenden Tabelle definiert werden.
Definierte Konstante |
Zeichen-Datentyp |
---|---|
_UNICODE |
Breitzeichen |
_MBCS |
MULTI-Byte Zeichen |
Keine |
Einzelbytezeichen |
Beides |
Nicht definiert |
Beispiel
// typedef CStringT<TCHAR, StrTraitATL<TCHAR, ChTraitsCRT<TCHAR>>> CAtlString;
CAtlString strBang(_T("Everybody likes epee fencing"));
int n = strBang.Replace(_T("epee"), _T("foil"));
ASSERT(n == 1);
Anforderungen
Header: cstringt.h