下面这段代码,在Edit控件的文本发生变化时,统计其字数
void CFormNewView::OnEnChangeEditMsg()
{
UpdateData();
CString num;
num.Format("共有%d个字",m_sMsgContent.GetLength());
GetDlgItem(IDC_STATIC_MSG_NUM)->SetWindowText(num);
}
如果输入的都是英文,不会有问题。但是输入了中文的话,竟然会导致退出时异常!!!晕哪!
在对话框测试也是这样的结果!!!!!!这个怎么回事啊?怎么办?我怎么来统计字数呢?现在连统计字符数都成问题了,晕死了。一个汉字统计为1个字,怎么做?这个算是BUG吧!

解决方案 »

  1.   

    将程序发过来我给你看看。[email protected]
      

  2.   

    一个汉字统计为1个字,怎么做?先转换为WideChar!MultiByteToWideChar
      

  3.   

    天哪,我发现更严重的事,竟然比刚才说的更荒唐!!!!
    说出来自己都不信,我竟然在Edit控件里一输入中文,退出时就异常!!粘贴却没有问题!
    怎么回事?????????????????????????????????????我新建的一个对话框程序啊!!!!!!!!!!!只放了一个Edit控件啊!!!!!!!!!
    是不是我操作系统出问题了????????????????
      

  4.   

    楼主试一下把代码放在一个button 的里面不要放在em_change 里面,试试。
      

  5.   

    我现在只要创建一个对话框程序,然后拖入Edit控件,运行!接着在Edit控件里输入中文,退出!这时导致int 3异常!!!!!!!!!!!!!!!!!!!!肯定不是程序的问题了,TNN的是不是有什么木马和非法进程在活动!!!!!搞得我在那个工程上费了半天查找这个BUG!!!!!!!