CStringT::Tokenize
Znajduje następny token w ciągu docelowym
CStringT Tokenize(
PCXSTR pszTokens,
int& iStart
) const;
Parametry
pszTokens
Ciąg zawierający ograniczników token.Kolejność tych ograniczników nie jest ważne.iStart
Indeks od zera, aby rozpocząć wyszukiwanie.
Wartość zwracana
A CStringT obiekt zawierający bieżącą wartość tokenu.
Uwagi
Tokenize Funkcja znajduje następny token w ciągu docelowym.Zestaw znaków w pszTokens określa możliwe ograniczników tokenu do znalezienia.Na każde wywołanie Tokenize funkcja rozpoczyna się na iStart, pomija ograniczników wiodącego i zwraca CStringT obiektu zawierającego tokenu bieżącego jest ciąg znaków do następnego znaku ogranicznika.Wartość iStart zaktualizowania położenia następujący znak ogranicznika końcowego lub -1, jeżeli osiągnięto koniec ciągu.Tokeny więcej można przerwane z pozostałą ciąg docelowego przez szereg wywołań Tokenize, korzystanie z iStart do śledzenia, gdzie w ciągu następnego token jest odczytywane.Gdy nie ma żadnych więcej tokeny funkcja zwróci ciąg pusty i iStart zostanie ustawiona na wartość -1.
W odróżnieniu od CRT tokenize funkcji, takich jak strtok_s, _strtok_s_l, wcstok_s, _wcstok_s_l, _mbstok_s, _mbstok_s_l, Tokenize nie modyfikuje docelowy ciąg.
Przykład
// 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);
};
Uwagi
Wyjście z tego przykładu jest następujący:
Resulting Token: First
Resulting Token: Second
Resulting Token: Third
Wymagania
Nagłówek: cstringt.h