在項目開發過程中,經常會用到字符串分割,這裏我封裝了一個截取字符串的小函數,拿出來和大家共享;
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());
}
}
}
}
}