用Viusal C++实现字符串分割函数

本文介绍了一种使用VC++6.0环境下CString类实现字符串分割的方法。通过定义decodeCString函数,可以将一个包含特定分隔符的大字符串分割成多个子字符串,并存储在CStringArray数组中。示例展示了如何使用此函数来处理包含'#'作为分隔符的字符串。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

//参数说明:
strSrc:   需要分割的源字符串;
strDes: 存储分割后的各个字符串变量的目标变量;
szDiv:   分割字符

void decodeCString(CString strSrc,  CStringArray& strDes,  char szDiv)
{
 strDes.RemoveAll();
 for(int i=0; i<strSrc.GetLength(); i++)
 {
  if(strSrc.GetAt(i) == szDiv)
  {
   strDes.Add(strSrc.Left(i)); //去掉右边

         int nLen = strDes.GetSize()-1;
   for(int j=0; j <nLen; j++)
   {
    strDes[nLen]  =  strDes[nLen].Right(strDes[nLen].GetLength()-strDes[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

... ...

 

ZZ:http://blog.youkuaiyun.com/redpetallsg/archive/2007/05/23/1622761.aspx

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值