//参数说明:
source: 需要分割的源字符串;
dest: 存储分割后的各个字符串变量的目标变量;
division:分割字符
void decodeCString(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); //去掉左边
}
}
}
}
使用例子:
CStringArray tmp;
CString str="123#234#476#987......";
CString aaa[MAX_PATH];
YourClass.decodeCString(str,tmp,'#');
int nIndex=tmp.GetSize();
int i=0;
while (i<nIndex)
{
aaa[i]=tmp.GetAt( i);//得到分割后的串,用CString数组来存
i++;
}
结果:(VC++6.0下测试成功)
aaa[0]:123
aaa[1]:234
aaa[2]:476
......