http://hi.baidu.com/ccskun/blog/item/9c4d033219ab5bfe1b4cff41.html/cmtid/1ce9b84445d57e2dcffca3d3
INT_PTR Split_CString(const CString& source,//需要截取的原字符串 if( -1 == pre_pos ) dest.Add(source.Mid(iFirst,nCount)); pre_pos = pos; return dest.GetCount(); |
我也写了一个,
Int PA_CStringSplit(CString strSource, CString strSplitter, CStringArray &saDestination) {
INT m_iLen_source = strSource.GetLength();
INT m_iLen_splitter = strSplitter.GetLength();
INT iStart = 0;
INT iLen = 0;
INT iPos = 0;
saDestination.RemoveAll();
do {
iPos = strSource.Find(strSplitter, iStart);
if ( -1== iPos) {
iLen = m_iLen_source - iStart;
} else {
iLen = iPos - iStart;
}
saDestination.Add(strSource.Mid(iStart, iLen));
iStart += iLen + m_iLen_splitter;
} while (iStart < m_iLen_source);
return TRUE;
}