C++数值--字符串间转换方法总结
C/C++中相关的转换方法主要有如下几种:
(一)、使用CRT库中的转换函数族。
_itoa, _itow 及其反转换 atoi, _wtoi
_ltoa, _ltow 及其反转换 atol, _wtol
_ultoa, _ultow
_ecvt, _fcvt, _gcvt 及其反转换
_atodbl, _atoldbl,_atoflt
...(太多了,不想写了)
使用此方法的优点:是C标准库中函数,现成可用且可移植(部分为平台相关)。
缺点:转换函数较多,命名不统一以致难以记住,使用不方便。
(二)、借助C++98标准中的stringstream模板类实现。
数值到字符串的转换可如下实现:
template<typenameCharT,typenameNumericT>
basic_string<CharT>Numeric2String(NumericTnum)
{
basic_ostringstream<CharT>oss;
oss<<num;
returnoss.str();
}
其中,CharT类型可以是char或wchar_t,对应的返回类型分别是string和wstring。NumericT类型除了可以是int, long, float等内建(build-in)数值类外型,还可以是重载了operator << 运算符的class
顶(0)
踩(0)
下一篇:C++怎样有效利用非托管并列缓存
- 最新评论
