我要获得编辑框的文本,这样做
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...后面是难的
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...后面是难的
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也一样把一个数分开了.
char ch2[10]={0};
char ch3[10]={0};都先初始化一下试试
项目->属性->配置属性->常规
在右边的"字符集"里选择"使用多字节字符集"或者改成这样(没有测试)
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);
方法二是正确的
方法一好象不行,还带出好多错误啊
谢谢各位灌水啊