C++中以固定分隔符分割CString字符串

来源:互联网 发布:网络宣传的好处 编辑:程序博客网 时间:2024/04/28 16:10
CString * SplitString(CString str, char split, int& iSubStrs){    int iPos = 0; //分割符位置    int iNums = 0; //分割符的总数    CString strTemp = str;    CString strRight;    //先计算子字符串的数量    while (iPos != -1)    {        iPos = strTemp.Find(split);        if (iPos == -1)        {            break;        }        strRight = strTemp.Mid(iPos + 1, str.GetLength());        strTemp = strRight;        iNums++;    }    if (iNums == 0) //没有找到分割符    {        //子字符串数就是字符串本身        iSubStrs = 1;         return NULL;    }    //子字符串数组    iSubStrs = iNums + 1; //子串的数量 = 分割符数量 + 1    CString* pStrSplit;    pStrSplit = new CString[iSubStrs];    strTemp = str;    CString strLeft;    for (int i = 0; i < iNums; i++)    {        iPos = strTemp.Find(split);        //左子串        strLeft = strTemp.Left(iPos);        //右子串        strRight = strTemp.Mid(iPos + 1, strTemp.GetLength());        strTemp = strRight;        pStrSplit[i] = strLeft;    }    pStrSplit[iNums] = strTemp;    return pStrSplit;}

0 0