//ATL::CString, ATL::CStringArray
//输入参数:源字符串,分隔符;
//输出参数:字符串数组,存放被分割后的子串
//返回子串的数量
int SplitString(const CString& strText, const CString& strSplit, CStringArray& strArray)
{
strArray.RemoveAll();
CString strTemp = strText; //此赋值不能少
int nIndex = 0; //
CString strToken;
while (true)
{
nIndex = strTemp.Find(strSplit);
if (nIndex >= 0)
{
strToken = strTemp.Left(nIndex);
if (!strToken.IsEmpty())
strArray.Add(strToken);
strTemp = strTemp.Right(strTemp.GetLength() - nIndex - strSplit.GetLength());
}
else break;
}
strArray.Add(strTemp);
return strArray.GetSize();
}
//去除路径中不合法的字符
CString strResult = _T("12||23");
wchar_t wtResult[50] = { 0 };
CString::CopyChars(wtResult, strResult, strResult.GetLength() > 49 ? 49 : strResult.GetLength());
::PathCleanupSpec(NULL, wtResult);
strResult = wtResult;