2014-01-18 48 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

相關問題