BOOL CGenStruct::split(CString src, CString delimit, CStringArray &desc)
{
if (src.IsEmpty())
{
return FALSE;
}
if (delimit.IsEmpty())
{
desc.Add(src);
return TRUE;
}
if (src.FindOneOf(delimit) < 0)
{
desc.Add(src);
return TRUE;
}
int deli_len = delimit.GetLength();
int src_len = src.GetLength();
int npos = -1;
while ((src_len > 0) && (npos = src.FindOneOf(delimit)) >= 0)
{
if (npos == 0)
{
desc.Add(_T(""));
}
else
{
desc.Add(src.Left(npos));
}
src_len = src.GetLength();
src = src.Right(src_len - npos - deli_len);
src_len = src.GetLength();
}
if (src_len > 0)
{
desc.Add(src);
}
return TRUE;
}