//自定義分隔函數
int Split(CString source, CString ch,CStringArray &strarr)
{
/*---------------------------------------------------------
* 函數介紹: 從原字符串里按照指定的分隔字符串進行分割,將分隔的結果存放到字符串數組里
* 輸入參數:
source -- 原字符串
ch -- 指定的分隔字符串
strarr -- 外部引用的一個字符串數組
* 輸出參數:
* 返回值 :總共分隔了多少段字符串.
-----------------------------------------------------------*/
CString TmpStr;
strarr.RemoveAll();
if(source.IsEmpty() || ch.IsEmpty())
return 0;
int len=ch.GetLength();
int findi=0;
int findn=0;
int sum=0;
findn=source.Find(ch,findi);
if (findn!=-1)
{
TmpStr=source.Mid(0,findn);
//TmpStr.Trim();
strarr.Add(TmpStr);
findi=findn+len;
sum++;
}
else
{
//source.Trim();
strarr.Add(source);
sum++;
return sum;
}
while (findn!=-1)//有發現
{
findn=source.Find(ch,findi);
if (findn!=-1)
{
TmpStr=source.Mid(findi,findn-findi);
//TmpStr.Trim();//去除頭尾空格
strarr.Add(TmpStr);
findi=findn+len;
sum++;
}
else
{
TmpStr=source.Mid(findi,source.GetLength()-findi);
//TmpStr.Trim();
strarr.Add(TmpStr);
sum++;
}
}
return sum;
}