<b>C++数值--字符串间转换办法总结</b>[VC/C++编程]
本文“<b>C++数值--字符串间转换办法总结</b>[VC/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范例.像这样利用:
stringstr=Numeric2String<char>(10);
wstringwstr=Numeric2String<wchar_t>(10.1f);
同理,我们可以实现字符串到数值的转换:
template<typenameNumericT,typenameCharT>
NumericTString2Numeric(constbasic_string<CharT>&str)
{
basic_istringstream<CharT>iss(str);
NumericTresult;
iss>>result;
returnresult;
}
以上是“<b>C++数值--字符串间转换办法总结</b>[VC/C++编程]”的内容,如果你对以上该文章内容感兴趣,你可以看看七道奇为您推荐以下文章:
本文地址: | 与您的QQ/BBS好友分享! |