Поделиться через


CStringT::Tokenize

Находит следующий токен в строке целевого объекта

CStringT Tokenize(
   PCXSTR pszTokens,
   int& iStart
) const;

Параметры

  • pszTokens
    Разделители токена измененной строки.Порядок этих разрядов не важен.

  • iStart
    Индекс, начинающийся с нуля, с которого начинается поиск.

Возвращаемое значение

Объект CStringT, содержащий текущее значение токена.

Заметки

Функция Tokenize находит следующий токен в строке целевого объекта.Набор символов в pszTokens определяет возможные разделители токена, который требуется найти.При каждом вызове Tokenize функция начнет на iStart, пропустит начальные разделители и возвращает объект CStringT, содержащий текущий маркер, строка символов до следующего символа разделителя.Значение iStart обновлено, чтобы быть конечной позиции за которым следует знак разделителя или -1, если достигнут конца строки.Несколько маркеров могут нарушить из оставшейся строки целевого объекта рядом вызовов Tokenize, используя iStart для отслеживания, где в строке следующий токен быть чтения.При отсутствии несколько маркеров функция возвратит строку нулевой длины, а iStart будет равно -1.

В отличие от функций CRT, как strtok_s, _strtok_s_l, wcstok_s, _wcstok_s_l, _mbstok_s, _mbstok_s_l разметки, Tokenize не изменяет строку целевого объекта.

Пример

// 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);
};   

Заметки

Результат выполнения этого примера выглядит следующим образом:

Resulting Token: First

Resulting Token: Second

Resulting Token: Third

Требования

Header: cstringt.h

См. также

Ссылки

Класс CStringT