str2.Format("%d", atol(str) + atol(str1));你想要的大概是这个吧?
CString的操作符'+'就是把两个子串"串在一起"

解决方案 »

  1.   

    没有看懂
    GetDlgItem(IDC_EDIT2)->SetWindowText(str2); 
    我想把str和str1相加传给str2,结果却是str1和str全传给了str2.
    什么地方出错了?
      

  2.   

    没错呀,对的你debug一下看看
      

  3.   

    比如说:
    str=1,str1=3
    我想要的结果是str2=4
    执行的结果却是31.
    请大家指点.
      

  4.   

    那你要用FORMAT转换一下格式,要不就得到的是ASCII码啊
      

  5.   


    呵呵,我明白你的意思了,你的控件输入的都是整型数 你想对整数求和,而不是字符串连接,对吧?让我想了半天没明白你的意思呢。如果是这样,可以如下实现:CString str2;long  n1 =GetDlgItemInt(IDC_EDIT1);
    long  n3 =GetDlgItemInt(IDC_EDIT3);
    long  n2 = n1 + n3;str2.Format("%d",n2);
    GetDlgItem(IDC_EDIT2)->SetWindowText(str2); 当然,你要加入对整型数的验证!!
    否则GetDlgItemInt返回的将是0.