如何在 C++ 中转换std::stringstream
为?std::string
我需要在字符串流上调用方法吗?
</p>
yourStringStream.str()
std::stringstream::str()
是您正在寻找的方法。
与std::stringstream
:
template <class T>
std::string YourClass::NumericToString(const T & NumericValue)
{
std::stringstream ss;
ss << NumericValue;
return ss.str();
}
std::stringstream
是一个更通用的工具。您可以使用更专业的类std::ostringstream
来完成这项特定的工作。
template <class T>
std::string YourClass::NumericToString(const T & NumericValue)
{
std::ostringstream oss;
oss << NumericValue;
return oss.str();
}
如果您使用std::wstring
的是字符串类型,则必须使用std::wstringstream
orstd::wostringstream
代替。
template <class T>
std::wstring YourClass::NumericToString(const T & NumericValue)
{
std::wostringstream woss;
woss << NumericValue;
return woss.str();
}
如果您希望字符串的字符类型可以在运行时选择,您还应该将其设为模板变量。
template <class CharType, class NumType>
std::basic_string<CharType> YourClass::NumericToString(const NumType & NumericValue)
{
std::basic_ostringstream<CharType> oss;
oss << NumericValue;
return oss.str();
}
对于上述所有方法,您必须包含以下两个头文件。
#include <string>
#include <sstream>
请注意,NumericValue
上面示例中的参数也可以分别作为 和 实例传递std::string
或std::wstring
与std::ostringstream
和std::wostringstream
实例一起使用。不必NumericValue
是数值。
从内存中,您调用stringstream::str()
以获取std::string
值。