在使用C++开发时,字符分隔还是比较麻烦,在JAVA中可以通过split()方法进行字符串分隔进数组,在C++中就需要写比较多的代码下面贴出代码
class="C++" name="code">
int CSplitCString::SplitCString(CString strIn,CStringArray & strArtRe,char divsion)
{
strArtRe.RemoveAll();
if(!strIn.IsEmpty())
{
int nCount=0;
int nPost=-1;
nPost=strIn.Find(divsion);
CString strTemp=strIn;
while (nPost!=-1)
{
CString strSubString=strTemp.Left(nPost);
strTemp=strTemp.Right(strTemp.GetLength()-nPost-1);
nPost=strTemp.Find(divsion);
nCount++;
strArtRe.Add(strSubString);
}
if(nCount==strArtRe.GetSize())
{
CString str;
int nSize=strIn.ReverseFind(divsion);
str=strIn.Right(strIn.GetLength()-nSize-1);
strArtRe.Add(str);
}
}
return strArtRe.GetSize();
}
int CSplitCString::SplitCString(CString &strIn, CStringArray& strAryRe, LPCTSTR str)
{
if(str==_T(""))
{
strAryRe.RemoveAll();
return 0;
}
int nStart=0;
int nEnd=0;
CString strTemp;
while ((nEnd=strIn.Find(str,nStart))!=-1)
{
strTemp=strIn.Mid(nStart,nEnd-nStart);
strAryRe.Add(strTemp);
nStart=nEnd+2;
}
strTemp=strIn.Mid(nStart,strIn.GetLength());
strAryRe.Add(strTemp);
return strAryRe.GetSize();
}