我想计算出mfc 中输入的字符个数 但为什么老是出错

这是我的代码voidCMfc123Dlg::OnButton1(){CStringstr1;charstr2;GetDlgItemText(IDC_EDIT1,str1)... 这是我的代码
void CMfc123Dlg::OnButton1()
{
CString str1;
char str2;

GetDlgItemText(IDC_EDIT1,str1);

int i,num=0,word=0;
for(i=0;(str2=str1[i])!='\0';i++)
if(str2==' ')word=0;
else if(word==0)
{
word=1;
num++;
}

CString strOutput;
strOutput.Format(_T("字符个数:%d。"), num);
SetDlgItemText(IDC_EDIT2,strOutput
);
}
这是我的代码
展开
 我来答
zamboninite
2012-03-06 · 超过29用户采纳过TA的回答
知道答主
回答量:89
采纳率:0%
帮助的人:81.4万
展开全部
首先 确认执行GetDlgItemText(IDC_EDIT1,str1);函数后,str1中有没有值。 没有的话OnButton1() 函数后面 添加UpdateData(TRUE);函数,意思是把值从控件IDC_EDIT1里,更新到str1中。 str1有值了后就随便处理了。
追问
还是错怎么回事呢 呵呵
追答
从图片中只能看出是断言失败。 可以看下 > 第七课讲的很详细
waynemm123
2012-03-05
知道答主
回答量:33
采纳率:0%
帮助的人:29万
展开全部
对CString这个类不是很理解吧!这个类有个成员函数GetLength();直接就得到字符个数了。这样简单啊。MFC很多东西都是封装好的,直接用就行。还有就是用C++stl解决也很简单。
代码:
CString str1;
GetDlgItemText(IDC_EDIT1,str1);
CString strOutput;
strOutput.Format(_T("字符个数:%d。"), str1.GetLength());
SetDlgItemText(IDC_EDIT2,strOutput);
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式