CString的拆分词函数Tokenize
原创
©著作权归作者所有:来自51CTO博客作者shanql的原创作品,请联系作者获取转载授权,否则将追究法律责任
Tokenize
拆分词,即按指定字符拆分字符串
用法示例
#include <iostream>
#include <afx.h>
int main()
{
//以;号分隔的字符串拆分
//拆分结果为: aa abb bbcc ccdd dd
{
std::wcout << std::endl;
CString strSep(_T(";"));
CString strTemp(_T("aa;abb;bbcc;ccdd;dd"));
int nCurPos = 0;
CString strSub = strTemp.Tokenize(strSep, nCurPos);
while (strSub != _T(""))
{
strSub.Trim();//去除字串两边空格
std::wcout << strSub.GetString() << " ";
strSub = strTemp.Tokenize(strSep, nCurPos);
}
std::wcout << std::endl;
}
//分隔符可以是一个字符集合
//拆分结果为: aa abb bbcc ccdd dd
{
std::wcout << std::endl;
CString strSep(_T(";|&"));
CString strTemp(_T("aa;abb|bbcc&ccdd;dd"));
int nCurPos = 0;
CString strSub = strTemp.Tokenize(strSep, nCurPos);
while (strSub != _T(""))
{
strSub.Trim();//去除字串两边空格
std::wcout << strSub.GetString() << " ";
strSub = strTemp.Tokenize(strSep, nCurPos);
}
std::wcout << std::endl;
}
return 0;
}
示例结果