CString 字符分割 函数

本文介绍了一种在VC环境中实现字符串分割的方法,并提供了一个具体的函数示例。该函数能够根据指定的分隔符将字符串分割成多个部分,并存储到字符串数组中。文章通过实例演示了如何使用该函数。

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

出处:http://www.blogguy.cn/show-744-1.html

VC中自带的只有使用字符分割字符串的split函数,还羞答答的。

如果要实现字符串分割的话还得自己想办法,在php中这可是非常常规的功能呀!

看来先学php再学vc难度还蛮大的,要是倒过来恐怕会简单些。

说太远了,下面这个就是可以用字符串分割字符串的函数。

用法:
CString szSrc = _T("blogguy.cn||blogguy.cn||blogguy.cn");
CString szSplit = _T("||");
CStringArray szList;
int Count = SplitString(szSrc, szSplit, szList, FALSE);
CString a1= szList.GetAt(0);
CString a2= szList.GetAt(1);

CString a3= szList.GetAt(2);
返回结果:
Count 值为3

a1值为"blogguy.cn"
a2值为"blogguy.cn"

a3值为"blogguy.cn"

int SplitString(LPCTSTR lpszStr, LPCTSTR lpszSplit, CStringArray& rArrString, BOOL bAllowNullString)   
{   
	rArrString.RemoveAll();   
	CString szStr = lpszStr;   
	szStr.TrimLeft();   
	szStr.TrimRight();   
	if(szStr.GetLength()==0)   
	{   
		return 0;   
	}   
	CString szSplit = lpszSplit;   
	if(szSplit.GetLength() == 0)   
	{   
		rArrString.Add(szStr);   
		return 1;   
	}   
	CString s;   
	int n;   
	do {   
		n = szStr.Find(szSplit);   
		if(n > 0)   
		{   
			rArrString.Add(szStr.Left(n));   
			szStr = szStr.Right(szStr.GetLength()-n-szSplit.GetLength());   
			szStr.TrimLeft();   
		}   
		else if(n==0)   
		{   
			if(bAllowNullString)   
			rArrString.Add(_T(""));   
			szStr = szStr.Right(szStr.GetLength()-szSplit.GetLength());   
			szStr.TrimLeft();   
		}   
		else  
		{   
			if((szStr.GetLength()>0)||bAllowNullString)   
			rArrString.Add(szStr);   
			break;   
		}   
	} while(1);   
	return rArrString.GetSize();   
}  


评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值