Share via


CStringT::Replace

Il existe deux versions d' Replace. La première version remplace une ou plusieurs copies d'une sous-chaîne à l'aide d'une autre sous-chaîne.Les deux sous-chaînes sont se terminant par null.La deuxième version remplace une ou plusieurs copies d'un caractère à l'aide d'un autre caractère.Les deux versions traitent les données caractères stockées dans CStringT.

int Replace(
   PCXSTR pszOld,
   PCXSTR pszNew
);
int Replace(
   XCHAR chOld,
   XCHAR chNew
);

Paramètres

  • pszOld
    Un pointeur vers une chaîne terminée par le caractère NULL à remplacer par pszNew.

  • pszNew
    Un pointeur vers une chaîne terminée par le caractère NULL qui remplace pszOld.

  • chOld
    Le caractère à remplacer par chNew.

  • chNew
    Le caractère substituant chOld.

Valeur de retour

Retourne le nombre d'instances substituées au caractère ou de la sous-chaîne, ou zéro si la chaîne n'est pas modifiée.

Notes

Replace peut modifier la longueur de chaîne car pszNew et pszOld ne doivent pas être la même longueur, et plusieurs copies de la sous-chaîne ancienne peuvent être modifiées au nouveau.La fonction effectue une correspondance respecte pas la casse.

Les exemples des instances d' CStringT sont CString, CStringA, et CStringW.

Pour CStringA, Replace fonctionne avec ANSI ou les caractères multioctets (MBCS).Pour CStringW, Replace avec des caractères larges.

Pour CString, le type de données caractère est sélectionné au moment de la compilation, selon que constantes dans le tableau suivant sont définies.

Constante définie

Type de données caractère

_UNICODE

Caractères larges

_MBCS

Caractères multioctets

Aucun

Caractères codés sur un seul octet

Les deux

Indéfini

Exemple

// 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);   

Configuration requise

en-tête : cstringt.h

Voir aussi

Référence

Classe de CStringT