问题:我有一个整数,需要将其转换为stl :: string类型。
过去,我使用stringstream进行转换,但这种方法有点繁琐。我知道C的方法是使用sprintf,但我更愿意使用一种类型更安全的C ++方法。
有更好的方法吗?
以下是我过去使用的stringstream方法:
当然,这个也可以这样重写:
过去,我使用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);
无论如何,更好的方式会更好。
相关: