CStringT::Tokenize
Cerca il token seguente in una stringa di destinazione
CStringT Tokenize(
PCXSTR pszTokens,
int& iStart
) const;
Parametri
pszTokens
Stringa contenente i delimitatori token. l'ordine di questi delimitatori non è importante.iStart
L'indice in base zero iniziare la ricerca.
Valore restituito
Un oggetto CStringT contenente il valore token corrente.
Note
La funzione Tokenize cerca il token seguente nella stringa di destinazione. Il set di caratteri in pszTokens specifica i delimitatori possibili del token da cercare. Per ogni chiamata a Tokenize la funzione inizia a iStart, ignora i delimitatori iniziali e restituisce un oggetto CStringT che contiene il token corrente, che spetta la sequenza di caratteri fino al carattere di delimitazione seguente. Il valore iStart viene aggiornato sia quella che segue il carattere di delimitazione finale, -1 o se la fine della stringa è stata raggiunta. Più token possono essere scoppiati il resto della stringa di destinazione da una serie di chiamate a Tokenize, utilizzando iStart per tenere traccia della posizione nella stringa il token seguente deve essere letto. Quando non sono più token la funzione restituirà una stringa vuota e iStart verrà impostato su -1.
A differenza di CRT un'operazione funzioni come strtok_s, _strtok_s_l, wcstok_s, _wcstok_s_l, _mbstok_s, _mbstok_s_l, Tokenize non modifica la stringa di destinazione.
Esempio
// typedef CStringT<TCHAR, StrTraitATL<TCHAR, ChTraitsCRT<TCHAR>>> CAtlString;
CAtlString str(_T("%First Second#Third"));
CAtlString resToken;
int curPos = 0;
resToken= str.Tokenize(_T("% #"),curPos);
while (resToken != _T(""))
{
_tprintf_s(_T("Resulting token: %s\n"), resToken);
resToken = str.Tokenize(_T("% #"), curPos);
};
Note
L'output di questo esempio è la seguente:
Resulting Token: First
Resulting Token: Second
Resulting Token: Third
Requisiti
Header: cstringt.h