CStringArray 分割字符串
//C++ 里分割字符串的三种做法。
void StringSplit(CString source, CStringArray& dest, char division)
{
dest.RemoveAll();
for(int i=0;i< source.GetLength();i++)
{
if(source.GetAt(i)== division)
{
dest.Add(source.Left(i)); //去掉右边
for(int j=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 变量的方式为 vector<Cstring> ver;
void StringSplit(CString inputString,char splitchar,vector<CString> &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);
}
}
}
}
*/
{
dest.RemoveAll();
for(int i=0;i< source.GetLength();i++)
{
if(source.GetAt(i)== division)
{
dest.Add(source.Left(i)); //去掉右边
for(int j=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 变量的方式为 vector<Cstring> ver;
void StringSplit(CString inputString,char splitchar,vector<CString> &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);
}
}
}
}
*/