CString::SpanExcluding()的问题,十分不解

chenzhixin 2005-04-25 08:02:04
void CCStringView::OnRButtonDown(UINT nFlags, CPoint point)
{

CString str("chenzhixin");
CString strNew;

strNew=str.SpanExcluding("che");
MessageBox(strNew);
if(strNew="nzixin")
MessageBox("strNew=nzixin");

CView::OnRButtonDown(nFlags, point);
}
为什么第一次弹出的对话框为空
第二次弹出的确是strNew=nzixin

严重不解
...全文
152 4 打赏 收藏 转发到动态 举报
写回复
用AI写文章
4 条回复
切换为时间正序
请发表友善的回复…
发表回复
晨星 2005-04-25
  • 打赏
  • 举报
回复
同样的意思,还是你说的明白。:)
chenzhixin 2005-04-25
  • 打赏
  • 举报
回复
谢谢
我已经知道错误了,但你的第二句讲的云里雾里的
我改变了下字符串,已经明白了

我的理解是:

从str的第一个字符开始逐个检查,看看它是不是属于"che"中任何一个字符,如果是,就将前面的字符串传给strNew,如果不是"che"中的任何一个,就一直查下去
晨星 2005-04-25
  • 打赏
  • 举报
回复
SpanExcluding返回的是从原来字符串第一个字符开始,到源字符串中某一个包含在"che"中的某个字符(即c,h或e)为止的子字符串,对于你的字符串来说,由于第一个字符就是c,c包含在"che"中,于是只能返回空串了。
晨星 2005-04-25
  • 打赏
  • 举报
回复
首先,
if(strNew="nzixin")
应该改成:
if(strNew == "nzixin")

16,550

社区成员

发帖
与我相关
我的任务
社区描述
VC/MFC相关问题讨论
社区管理员
  • 基础类社区
  • Creator Browser
  • encoderlee
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

        VC/MFC社区版块或许是CSDN最“古老”的版块了,记忆之中,与CSDN的年龄几乎差不多。随着时间的推移,MFC技术渐渐的偏离了开发主流,若干年之后的今天,当我们面对着微软的这个经典之笔,内心充满着敬意,那些曾经的记忆,可以说代表着二十年前曾经的辉煌……
        向经典致敬,或许是老一代程序员内心里面难以释怀的感受。互联网大行其道的今天,我们期待着MFC技术能够恢复其曾经的辉煌,或许这个期待会永远成为一种“梦想”,或许一切皆有可能……
        我们希望这个版块可以很好的适配Web时代,期待更好的互联网技术能够使得MFC技术框架得以重现活力,……

试试用AI创作助手写篇文章吧