我正在尝试使用visual studio 2010中的基于MFC对话框创建计算器。所以这是我按下按钮1
时显示在计算器屏幕上的代码。所以如果我按1
后会显示1
,如果我按了3次,则会显示111
。
void CCalculatorDlg::OnBnClickedButton1()
{
CString t;
num1=(num1*10)+1;
int n=num1;
t.Format(_T("%d"),n);
SetDlgItemText(IDC_EDIT1,t);
}
我的问题是,如果我省略int n=num1
并使用t.Format(_T("%d"),num1);
行,则这不起作用。这是因为将num1
转换为String时num1
转换为字符串。我认为num1
转换后的字符串值将存储在CString t
中,而num1
将保留为int
。
如果我继续按1
,这个代码也会正常运行,直到我按下它约11次。之后它会显示-2147483648
而不是111111111111
。为什么会这样,有人可以告诉我这有什么问题。我对MFC来说是全新的