问题:我有一个整数;该整数需要转换为 stl::string 类型。
过去我用过stringstream
进行转换,这有点麻烦。我知道 C 方法是做一个sprintf
,但我更愿意做一个类型安全(呃)的 C++ 方法。
有一个更好的方法吗?
这是我过去使用过的 stringstream 方法:
std::string intToString(int i)
{
std::stringstream ss;
std::string s;
ss << i;
s = ss.str();
return s;
}
当然,这可以重写为:
template<class T>
std::string t_to_string(T i)
{
std::stringstream ss;
std::string s;
ss << i;
s = ss.str();
return s;
}
然而,我认为这是一个相当“重量级”的实现。
然而,Zan 指出,这个调用非常好:
std::string s = t_to_string(my_integer);
无论如何,更好的方式会是......很好。
Related:
用于将整数转换为字符串 C++ 的 itoa() 替代方案? https://stackoverflow.com/questions/228005/alternative-to-itoa-for-converting-integer-to-string-c
现在在 c++11 中我们有
#include <string>
string s = std::to_string(123);
参考链接:http://en.cppreference.com/w/cpp/string/basic_string/to_string http://en.cppreference.com/w/cpp/string/basic_string/to_string
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)