字符串转数字
1.CRT函数
| ASCII | UNICODE | TCHAR | VS2005 |
int | atoi | _wtoi | _tstoi _ttoi | _atoi_l _wtoi_l |
long | atol | _wtol | _tstoi _ttoi | _atoi_l _wtoi_l |
__int64 | _atoi64 | _wtoi64 | _tstoi64 _ttoi64 | _atoi64_l _wtoi64_l |
float | | | | _atoflt _atoflt_l |
double | atof | _wtof | _tstof _ttof | _atof_l _wtof_l _atodbl _atodbl_l |
long double | | | | _atoldbl _atoldbl_l |
2.使用sscanf
3.Windows SDK:
<shlwapi.h>:StrToInt
4.MFC/ATL:
数字转字符串
1.CRT函数
| ASCII | UNICODE | TCHAR | VS2005 |
int | itoa _itoa | _itow | _itot | |
long | ltoa _ltoa | _ltow | _ltot | |
__int64 | _i64toa | _i64tow | _i64tot | |
double | gcvt _gcvt _ecvt _fcvt | _wtof | _tstof _ttof | _gcvt_s _ecvt_s _fcvt_s |
2.使用sprintf
3.<strsafe.h>:StringCbPrintf
通用相互转换方法
1.C++流方式:
stringstream
2.boost库:
boost:: lexical_cast
摘自MSDN:
Data-Conversion Routines
Routine | Use |
Convert string to float | |
Convert string to int | |
Convert string to __int64 | |
Convert string to long | |
Convert double to string of specified length | |
Convert double to string with specified number of digits following decimal point | |
Convert double number to string; store string in buffer | |
_itoa, _i64toa, _ui64toa, _itow, _i64tow, _ui64tow, _itoa_s, _i64toa_s, _ui64toa_s, _itow_s, _i64tow_s, _ui64tow_s | Convert int or __int64 to string |
Convert long to string | |
Convert string to double | |
Convert string to long integer | |
Convert string to unsigned long integer | |
Convert unsigned long to string | |
Convert wide-character string to a double | |
Convert wide-character string to int | |
Convert wide-character string to __int64 | |
Convert wide-character string to long |