MFC字符串分隔函數


//自定義分隔函數
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;
}


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM