CStringT::Replace
Esistono due versioni Replace. La prima versione sostituisce una o più copie di una sottostringa tramite un'altra sottostringa.Entrambe le sottostringhe sono con terminazione null.La seconda versione sostituisce una o più copie di un carattere utilizzando un altro carattere.Entrambe le versioni utilizzano dati di tipo carattere archiviati in CStringT.
int Replace(
PCXSTR pszOld,
PCXSTR pszNew
);
int Replace(
XCHAR chOld,
XCHAR chNew
);
Parametri
pszOld
Un puntatore a una stringa con terminazione null da sostituire da pszNew.pszNew
Un puntatore a una stringa con terminazione null che sostituisce pszOld.chOld
Il carattere da sostituire da chNew.chNew
Il carattere che sostituisce chOld.
Valore restituito
Restituisce il numero di istanze sostituite carattere o la sottostringa, o zero se la stringa non viene modificata.
Note
Replace può modificare la lunghezza della stringa perché pszNew e pszOld non devono essere la stessa lunghezza e più copie della sottostringa precedente possono essere modificate al nuovo.La funzione esegue un confronto con distinzione tra maiuscole e minuscole.
Esempi di istanze CStringT sono CString, CStringAe CStringW.
Per CStringA, funzionamento Replace con ANSI o i caratteri multibyte (MBCS).Per CStringW, il funzionamento Replace con i caratteri di tipo " wide ".
Per CString, il tipo di dati carattere selezionato in fase di compilazione, in base a se le costanti nella tabella seguente vengono definite.
Costante definita |
Tipo di dati carattere |
---|---|
_UNICODE |
Caratteri di tipo " wide " |
_MBCS |
Caratteri a più byte |
Nessuno |
Caratteri a byte singolo |
Entrambe le dimensioni |
Non definito |
Esempio
// 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);
Requisiti
intestazione: cstringt.h