我正在学习Cstring类,其中有关于字符串处理函数的内容,比如GetLength Mid TrimLeft等,这些内容理解上不什么问题,但是我想通过一个基于对话框的MFC程序来实现一下。在对话框中填加了一个文本框,用于输入一行字符串,填加了另一个文本框用于输出结果,填加了一个按钮,用于实现统计字符串的长度,但是代码如何写呢?大家给点建议。

解决方案 »

  1.   

    为输入框关联一个CString型的变量m_str,为输出框关联一个int型的变量m_num,为按钮添加消息响应函数,函数中:
    UpdateData();
    m_num = m_str.GetLength();
      

  2.   

    这个程序是做出来,但是中间转了几道弯,请大家帮我优化一下,下面我是操作的过程:
    一、在MFC ClassWizard中定义两个编辑框的属性
    IDC_EDIT1 Type:CString Member:m-edit1
    IDC_EDIT2 Type:Cedit Member:m_edit2
    二、编辑按钮1的代码
    void CMycstring2Dlg::OnButton1() 
    {
    // TODO: Add your control notification handler code here
    UpdateData(TRUE);
    char buf[10000];
    //定义了一个字符串变量buf,用来存放编辑框1中的内容
    ::strcpy(buf,m_edit1);
    //取得编辑框1中的内容
    CString line;
    //又字符串化一个变量line
    line=buf;
    //将buf的内容赋给line
    int n;
    n=line.GetLength();
    //定义了一个整型变量,用于记录line的长度
    char m2[500];
    //定义了一个字符串变量m2
    _itoa(n,m2,10);
    //利用itoa函数把整数转化为字符串
    m_edit2.SetSel(0,-1);
    m_edit2.ReplaceSel("");
    m_edit2.ReplaceSel(m2);
    //在编辑框2中输出
    }
      

  3.   

    我把这个程序优化了一下,供大家参考:
    void CMycstring5Dlg::OnBUTTONlength() 
    {
    // TODO: Add your control notification handler code here
    UpdateData(TRUE);
    char line[100];
    _itoa(m_editinput.GetLength(),line,10);
    m_editlength.SetSel(0,-1);
    m_editlength.ReplaceSel("");
    m_editlength.ReplaceSel(line);
    }
    其实有起作用是char line[100];
    _itoa(m_editinput.GetLength(),line,10);
    m_editlength.ReplaceSel(line);
    这三等,分别是定义了一个字符串,将得到字符串的长度转为字符,再把它输出来。