直接看代码吧
BOOL SeparateString(const CString& strDataInput, std::vector<CString> &arrString, const CString& strSign/*=_T(",")*/)
{
//SplitString(strData, strSign, arrString);
//return TRUE;
arrString.clear();
CString strData = strDataInput;
strData.Trim(); //排除只有空格的情况
if (strData.IsEmpty())
{
return TRUE;
}
if (-1 == strData.Find(strSign)) //不包含分割符
{
arrString.push_back(strData);
return TRUE;
}
while (0 == strData.Find(strSign)) //循环删除首位上的分割符
{
strData.Delete(0, strSign.GetLength());
}
strData += strSign;
CString str = _T("");
long lIndex = strData.Find(strSign);
while (-1 < lIndex)
{
str.Empty();
str = strData.Left(lIndex).Trim();
if (!str.IsEmpty())
{
arrString.push_back(str);
}
strData.Delete(0, lIndex + strSign.GetLength());
lIndex = strData.Find(strSign);
}
return TRUE;
}