新手上路:整样将两个编辑框的数字?

来源:百度知道 编辑:UC知道 时间:2024/06/24 06:40:44
弄了三个编辑框m_edit1,m_edit2,m_edit3,类型都是Cstring;一个确定按钮.想实现:m_edit1 + m_edit2 = m_edit3。代码如下:
void CTMDDlg::OnOK()
{
CString a,b,c;
GetDlgItem(IDC_EDIT1)->GetWindowText(a);
GetDlgItem(IDC_EDIT2)->GetWindowText(b);
c=a+b;
GetDlgItem(IDC_EDIT3)->SetWindowText(c);
但结果成了:1+2=12.请高手解释一下,还有该咋改?

你得到的a和b都是CSting类型的当然不能进行整数加减了。

char *x = (char *)(LCTPSTR)a;
char *y = (char *)(LCTPSTR)b;

int z = atoi(x) + atoi(y);

CString c;

c.Format("%d",z);

SetDlgItemText(IDC_EDIT3,c);

small为正解。提取到的东西其实是CString类型,+ 操作就是连接两个字符串。先转为数字再加就可以了。

GetDlgItemInt

我晕

有个函数叫做
GetDlgItemInt的