mfc c ++计算得到一个9后然后回到1

时间:2014-01-18 15:57:02

标签: c++ mfc numbers

让我的头脑在c ++中计算我开始基本并想出了这段代码。

m_cont.GetWindowText(m_value);
int a;
a = _wtoi(m_value) + 1;
TCHAR buff[50];
GetDlgItem(IDC_EDIT1)->SetWindowText(_itot(a, buff, 50)); 

它在编辑控件中的任何数字上添加1,只需点击一个有效的按钮,但它会分别为1,2,3,4,5,6,7,8,9,a,1和重复。我知道这是一个非常基本的计算,但是为什么它不会达到10而继续永久地增加1?

1 个答案:

答案 0 :(得分:1)

_itot的第三个参数(它是非标准itoa函数的变体)不是缓冲区的长度,而是进行转换的基础。因此,您的代码在基数50中进行转换,其中数字“a”跟随9.您应该将基数指定为10.