CStringArray 分割字符串

//C++ 里分割字符串的三种做法。voidStringSplit(CString source, CStringArray&dest,chardivision)

{

dest.RemoveAll();

for(inti=0;i<source.GetLength();i++)

{

if(source.GetAt(i)==division)

{

dest.Add(source.Left(i));
//去掉右边

for(intj=0;j 〈 (dest.GetSize()-1);j++)

{

dest[dest.GetSize()
-1]=dest[dest.GetSize()-1].Right(dest[dest.GetSize()-1].GetLength()-dest[j].GetLength()-1);//去掉左边

}

}

}

}

//头文件里需要加上 #include 定义 vector 变量的方式为 vector ver;

void StringSplit(CString inputString,char splitchar,vector &vec)

{

CString outStr;

if (vec.size() > 0)

{

vec.clear();

}

int len = inputString.GetLength();

int startIndex = 0;

for (int i =0; i< len; i++)

{

if (inputString[i] == splitchar && i==0)

{

startIndex +=1;

}

if (inputString[i] == splitchar)

{

outStr = inputString.Mid(startIndex,i-startIndex);

vec.push_back(outStr);

startIndex = i+1;

}

if (i==len-1)

{

outStr = inputString.Mid(startIndex,i+1-startIndex);

vec.push_back(outStr);

}

}



}

// inputstring :目标字符

// splitChar:分割字符

// saveStr:存储分割后的字符

void StringSplit(CString inputString,char splitchar,CStringArray &saveStr)

{

CString outStr;

int startIndex = 0;

if (saveStr.GetSize() != 0)

{

saveStr.RemoveAll();

for (int i=0;i<inputString.GetLength();i++)

{

if (inputString[i] == splitchar && i==0)

{

startIndex +=1;

}

if (inputString[i]==splitchar)

{

outStr = inputString.Mid(startIndex,i-startIndex);

saveStr.Add(outStr);

startIndex = i+1;

}

if(i == inputString.GetLength() -1)

{

outStr = inputString.Mid(startIndex,i+1-startIndex);

saveStr.Add(outStr);

}

}

}

}



*/

原文链接: https://www.cnblogs.com/zhchongyao/archive/2010/10/29/1864096.html

欢迎关注

微信关注下方公众号,第一时间获取干货硬货;公众号内回复【pdf】免费获取数百本计算机经典书籍

原创文章受到原创版权保护。转载请注明出处:https://www.ccppcoding.com/archives/16777

非原创文章文中已经注明原地址,如有侵权,联系删除

关注公众号【高性能架构探索】,第一时间获取最新文章

转载文章受原作者版权保护。转载请注明原作者出处!

(0)
上一篇 2023年2月7日 下午5:09
下一篇 2023年2月7日 下午5:09

相关推荐