Freigeben über


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

Siehe auch

Referenz

CStringT Class