這個問題應該不是很難吧,不過,我就是搞不定啊!
如何從Edit Box中獲得16進制數,比如我在Edit Box中輸入一個十六進制數
3f67,那我如何在程序的其它地方獲得這個值呢,
我用了GetDlgItemInt來獲得這個Edit Box 中的值,總是結果為0
但我在Edit Box 中輸入10進制的數用GetDlgItemInt就可以得到正確的值。
我可以用GetDlgItemText這個函數來獲得Edit Box中的值,不過得到的是
string 類型的,而我現在要的是int,或是dword 類型的
請高手指教!
你可以先把字符串放入一个char数组
然后使用sscanf来获取 该函数用法与scanf类似
看看msdn就知道了
TCHAR hex2int (CString hex)
{
int i;
int result;
const char* pChar = hex.GetBuffer(0);
i = sscanf (pChar, _T("%x"), &result);
if (i==1)
return result;
return 0;
}