在项目开发过程中,经常会用到字符串分割,这里我封装了一个截取字符串的小函数,拿出来和大家共享;
CString GetStrParam(CString sInfo, int iPos, CString sSplit)
参数说明:
CString sInfo:待切割的字符串,例如:
CString sInfo = _T("983256531{^}@163{^}com")
- int iPos:需要截取字符串在源串中的位置,从1开始计算;
- CString sSplit:拆分的标识;
- 返回值:函数截取出来的结果是通过函数的返回值来返回的;
在上面的例子中,如果要截取@163这部分, iPos传2,sSplit传“{^}”;
函数实现
CString GetStrParam(CString sInfo, int iPos, CString sSplit)
{
int i;
CString str ;
if (iPos < 1 )
{
return "" ;
}
else
{
int iCurPos = 0 ;
for ( ; ; )
{
sInfo.TrimLeft();
sInfo.TrimRight();
if (sInfo == "")
{
return "" ;
}
iCurPos ++ ;
i = sInfo.Find(sSplit) ;
if ( i == -1 )
{
if (iPos == iCurPos)
{
return sInfo;
}
else
{
return "" ;
}
}
else
{
if (iPos == iCurPos)
{
return sInfo.Mid(0,i) ;
}
else
{
sInfo = sInfo.Mid(i + sSplit.GetLength());
}
}
}
}
}