MFC(VS2015) CString 10進位/16進位 字串 轉 int
MFC(VS2015) CString 10進位/16進位 字串 轉 int
把 CString 類型的數據轉化成整數類型最簡單的方法就是使用標準的字符串到整數轉換例程。
雖然通常你懷疑使用_atoi()函數是一個好的選擇,它也很少會是一個正確的選擇。如果你準備使用 Unicode 字符,你應該用_ttoi(),它在 ANSI 編碼系統中被編譯成_atoi(),而在 Unicode 編碼系統中編譯成_wtoi()。你也可以考慮使用_tcstoul()或者_tcstol(),它們都能把字符串轉化成任意進制的長整數(如二進制、八進制、十進制或十六進制),不同點在於前者轉化後的數據是無符號的(unsigned),而後者相反。看下面的例子:
CString hex = _T(“FAB”);
CString decimal = _T(“4011”);
ASSERT(_tcstoul(hex, 0, 16) == _ttoi(decimal));