CString* CTest::SplitString(CString rtnstr)
{
int iSubStrs;
int iPos = 0; //分隔符位置
int iNums = 0; //分隔符总数
CString strTemp = rtnstr;
CString strRight; //先计算子字符串的数量
while (iPos != -1)
{
iPos = strTemp.Find('|');//以'|'为固定分隔符
if (iPos == -1)
{
break;
}
strRight = strTemp.Mid(iPos + 1, rtnstr.GetLength());
strTemp = strRight; iNums++;
}
if (iNums == 0) //没有找到分隔符
{
//子字符串就是字符串本身
iSubStrs = 1;
return NULL;
}
//子字符串数组
iSubStrs = iNums + 1;//子串的数量=分隔符数量 + 1
CString* pStrSplit;
pStrSplit = new CString[iSubStrs];
strTemp = rtnstr;
CString strLeft;
for (int i = 0; i < iNums; i++)
{
iPos = strTemp.Find('|');
//左子串
strLeft = strTemp.Left(iPos);
//右子串
strRight = strTemp.Mid(iPos + 1, strTemp.GetLength());
strTemp = strRight;
pStrSplit[i] = strLeft;
}
pStrSplit[iNums] = strTemp;
return pStrSplit;
}
C++以固定分隔符切割CString
最新推荐文章于 2022-12-20 09:14:52 发布