让我的头脑在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?
答案 0 :(得分:1)
_itot
的第三个参数(它是非标准itoa
函数的变体)不是缓冲区的长度,而是进行转换的基础。因此,您的代码在基数50中进行转换,其中数字“a”跟随9.您应该将基数指定为10.