Udostępnij za pośrednictwem


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

Zobacz też

Informacje

Klasa CStringT