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