阅读背景:

C++以固定分隔符切割CString

来源:互联网 
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;  
}  

CString* CTest::SplitString(CString rtnstr)  
{



你的当前访问异常,请进行认证后继续阅读剩余内容。

分享到: