直接看代码吧
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;
}
本文介绍了一个用于将字符串按指定符号分割成多个子串并存入向量的C++函数。该函数首先清除输入字符串两端的空白字符,然后检查是否包含分割符。如果不存在分割符,则整个字符串作为一个元素被加入到输出向量中;若存在,则进行循环处理直至完成所有分割。
664

被折叠的 条评论
为什么被折叠?



