关于C++的字符串分割

在使用C++开发时,字符分隔还是比较麻烦,在JAVA中可以通过split()方法进行字符串分隔进数组,在C++中就需要写比较多的代码下面贴出代码
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();
}

猜你喜欢

转载自2545375-qq-com.iteye.com/blog/2208196