CStringT::Tokenize
Sucht das nächste Token in einer Zielzeichenfolge
CStringT Tokenize(
PCXSTR pszTokens,
int& iStart
) const;
Parameter
pszTokens
Eine Zeichenfolge, die Scheintrennzeichen enthält. Die Reihenfolge dieser Trennzeichen ist nicht wichtig.iStart
Der nullbasierte Index, an dem die Suche zu beginnen.
Rückgabewert
Ein CStringT-Objekt, das den aktuellen Tokenwert enthält.
Hinweise
Die Tokenize-Funktion sucht das folgende Token in der Zielzeichenfolge. Der Satz von Zeichen in pszTokens gibt mögliche Trennzeichen des gefunden werden, Token an. Bei jedem Aufruf Tokenize beginnt die Funktion bei iStart, überspringt führende Trennzeichen und CStringT gibt ein Objekt zurück, das das aktuelle Token enthält, das die Zeichenfolge bis zum nächsten Trennzeichen ist. Der Wert von iStart wird aktualisiert, um die Position, die dem Endetrennzeichen folgen, oder -1 zu sein, wenn das Ende der Zeichenfolge erreicht wurde. Weitere Token können vom Rest der Zielzeichenfolge durch eine Reihe von Aufrufe Tokenize, mit iStart aufgeteilt werden, um nachzuverfolgen, wobei in der Zeichenfolge das folgende Token gelesen werden soll. Wenn keine weiteren Token gibt, gibt die Funktion eine leere Zeichenfolge zurück und iStart wird -1 festgelegt.
Im Gegensatz zum CRT zerlegen Sie Funktionen, z strtok_s, _strtok_s_l, wcstok_s, _wcstok_s_l, _mbstok_s, _mbstok_s_l, Tokenize nicht der Zielzeichenfolge ändert.
Beispiel
// 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);
};
Hinweise
Die Ausgabe von diesem Beispiel ist, wie folgt:
Resulting Token: First
Resulting Token: Second
Resulting Token: Third
Anforderungen
Header: cstringt.h