我要获得编辑框的文本,这样做
         GetDlgItemText(IDC_EDIT1,(LPTSTR)ch1,10);
GetDlgItemText(IDC_EDIT2,(LPTSTR)ch2,10); num1=atoi(ch1);
num2=atoi(ch2);
num3=num1+num2;
itoa(num3,ch3,10); SetDlgItemText(IDC_EDIT3,(LPTSTR)ch3);
但发现每次如果我输入25(在编辑框一中),调试发现问题如下
char ch1[10]="2050",故每次num1实际就是2后面的因为0没有转换
编辑筐二也一样啊
所以我要是计算 25+35就等于5...后面是难的

解决方案 »

  1.   

    我要获得编辑框的文本,这样做
    int num1,num2,num3;
    char ch1[10],ch2[10],ch3[10];GetDlgItemText(IDC_EDIT1,(LPTSTR)ch1,10);
    GetDlgItemText(IDC_EDIT2,(LPTSTR)ch2,10);num1=atoi(ch1);
    num2=atoi(ch2);
    num3=num1+num2;
    itoa(num3,ch3,10);SetDlgItemText(IDC_EDIT3,(LPTSTR)ch3);
    上面的代码想要完成将第一编辑框的数字(输入的)和第二个编辑框的文本相加,后将结果在第三个编辑框中显示
    如我们在第一编辑框中输入25,可利用GetDlgItemText(IDC_EDIT1,(LPTSTR)ch1,10);获取的是2
    调试发现ch1[10]的内容为"2050",ch2也一样把一个数分开了.
      

  2.   

    char ch1[10]={0};
    char ch2[10]={0};
    char ch3[10]={0};都先初始化一下试试
      

  3.   

    应该是Unicode的问题试试这样
    项目->属性->配置属性->常规
    在右边的"字符集"里选择"使用多字节字符集"或者改成这样(没有测试)
    int num1,num2,num3;
    wchar_t ch1[10],ch2[10],ch3[10];GetDlgItemText(IDC_EDIT1,(LPTSTR)ch1,10);
    GetDlgItemText(IDC_EDIT2,(LPTSTR)ch2,10);num1 = _wtoi(ch1);
    num2 = _wtoi(ch2);
    num3 = num1 + num2;
    _itow_s(num3,ch3,10,10);SetDlgItemText(IDC_EDIT3,(LPTSTR)ch3);
      

  4.   

    顶liuqiyc
    方法二是正确的
    方法一好象不行,还带出好多错误啊
    谢谢各位灌水啊