CString strSrc = _T("1++2+3+4"); CStringArray strResult; CString strGap = _T("+"); int nPos = strSrc.Find(strGap); CString strLeft = _T(""); while(0 <= nPos) { strLeft = strSrc.Left(nPos); if (!strLeft.IsEmpty()) strResult.Add(strLeft); strSrc = strSrc.Right(strSrc.GetLength() - nPos - 1); nPos = strSrc.Find(strGap); } if (!strSrc.IsEmpty()) { strResult.Add(strSrc); } int nSize = strResult.GetSize(); for (int i = 0; i < nSize; i++) { OutputDebugString(strResult.GetAt(i) + _T(" ")); }