VC++中截取字符串的方法

    在VC++编程中,我们有时会遇到关于截取字符串的问题,对于CString类型字符串的截取VC++中有现成的函数可供使用,主要是:CStringMid (int nFirst, int nCount);和BOOL AfxExtractSubString (CString&rString, LPCTSTR lpszFullString, int iSubString, TCHAR chSep = 10);这两个函数。

    这两个函数非常好用,而且值得一说的是,其中的AfxExtractSubString函数并未公开,在MSDN中也差不到相关的说明,但是在MSDN的例子里却常常出现,非常好用。下面先解释一下这两个函数:

    ⑴  CStringMid (int nFirst,int nCount);

    函数功能:此函数从目标CString对象中提取一个长度为nCount个字符的子串并返回,从nFirst(从零开始的索引)指定的位置开始。

    nFirst:开始位置(索引)。

    nCount:提取长度。

    ⑵  BOOL AfxExtractSubString (CString&rString, LPCTSTR lpszFullString, int iSubString, TCHAR chSep = 10);

    函数功能:此函数从目标字符串lpszFullString中,根据分割标志chSep,取出第iSubString个子串,放入结果串rString

    下面将结合一个从目标字符串中以空格为分割标志截取所有关键词的实例,来详细说明(完整的实例程序可在我的CSDN资源中下载:http://download.csdn.net/detail/margin1988/5415583):

    ⑴  目标字符串:

m_str = "说 谎 鼻子 会 变 长";

    ⑵  利用Mid函数计算目标串中关键词的个数:

int tmplen=0; // 关键词个数
for (int i=0;i<m_str.GetLength();i++)
{
	if (m_str.Mid(i,1)==' ')
	{
		tmplen++;
	}
}

    ⑶  利用AfxExtractSubString函数截取所有的关键词:

CString* gjcArray=new CString [tmplen]; // 保存所有关键词的字符串数组
for (int i=0;i<tmplen;i++)
{
	AfxExtractSubString(gjcArray[i], m_str, i, ' ');
}

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值