CStringT::Tokenize
Recherche la prochaine jeton dans une chaîne cible
CStringT Tokenize(
PCXSTR pszTokens,
int& iStart
) const;
Paramètres
pszTokens
Chaîne contenant les séparateurs symboliques. L'ordre de ces séparateurs n'est pas importante.iStart
l'index de base zéro pour commencer la recherche.
Valeur de retour
Un objet d' CStringT contenant la valeur de jeton actuelle.
Notes
La fonction d' Tokenize recherche la prochaine jeton dans la chaîne cible. Le jeu de caractères dans pszTokens spécifie les séparateurs possibles du jeton à rechercher. À chaque appel à Tokenize la fonction commence à iStart, ignore de clés séparateurs, et retourne un objet d' CStringT contenant le jeton actuelle, qui est la chaîne de caractères jusqu ' à le prochain caractère délimiteur. La valeur d' iStart est mise à jour comme étant la position après le caractère délimiteur de fin, ou -1 si la fin de la chaîne est atteinte. Plus de marques peuvent être éclatées du reste de la chaîne cible par une série d'appels à Tokenize, à l'aide de iStart pour stocker où dans la chaîne la prochaine jeton doit être lue. Lorsqu'il ne reste plus de jetons la fonction retourne une chaîne vide et iStart aura la valeur -1.
Contrairement au CRT tokenize les fonctions comme strtok_s, _strtok_s_l, wcstok_s, _wcstok_s_l, _mbstok_s, _mbstok_s_l, Tokenize ne modifie pas la chaîne cible.
Exemple
// 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);
};
Notes
La sortie de cet exemple est la suivante :
Resulting Token: First
Resulting Token: Second
Resulting Token: Third
Configuration requise
Header: cstringt.h