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 不修改目标字符串,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选件类