CStringT::Replace
Hay dos versiones de Replace. La primera versión reemplaza una o más copias de una subcadena con otra subcadena. Ambas subcadenas son terminada en null. La segunda versión reemplaza una o más copias de un carácter mediante otro carácter. Ambas versiones de los datos de caracteres almacenados en CStringT.
int Replace(
PCXSTR pszOld,
PCXSTR pszNew
);
int Replace(
XCHAR chOld,
XCHAR chNew
);
Parámetros
pszOld
Un puntero a una cadena terminada en null que se reemplazará por pszNew.pszNew
Un puntero a una cadena terminada en null que reemplaza pszOld.chOld
El carácter que se reemplazará por chNew.chNew
El carácter que reemplaza chOld.
Valor devuelto
Devuelve el número de instancias reemplazadas de caracteres o de la subcadena, o cero si la cadena no cambia.
Comentarios
Replace puede cambiar la longitud de la cadena porque pszNew y pszOld no tienen que ser la misma longitud, y varias copias de la antigua subcadena se pueden cambiar a la nueva. La función realiza una coincidencia de mayúsculas y minúsculas.
Ejemplos de instancias de CStringT son CString, CStringA, y CStringW.
Para CStringA, Replace funciona con ANSI o caracteres multibyte (MBCS). Para CStringW, Replace funciona con los caracteres anchos.
Para CString, selecciona el tipo de datos valores en tiempo de compilación, en función de si las constantes en la tabla siguiente se definen.
Constante definida |
Tipo de datos valores |
---|---|
_UNICODE |
Caracteres anchos |
_MBCS |
Caracteres de Multi- byte |
Cualquier |
Caracteres de Solo- byte |
Ambos |
No definido |
Ejemplo
// 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);
Requisitos
encabezado: cstringt.h