2014-01-18 34 views
0

让我的头在c + +计算我开始基本和想出了这个代码。mfc C++计算结果在一个9后,然后回到1

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呢?

+0

为什么不在调试器中单步执行代码并查看? – OldProgrammer

+0

我试过了,但是当我尝试使用按钮时,调试器不输出任何东西。只在开放和关闭。 – user3179762

回答

1

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

+0

啊这很有道理。谢谢。 – user3179762

相关问题