C++ 转换为std :: string
示例
通过将对象插入std::ostringstream对象(使用stream insertion操作符<<),然后将整个std::ostringstream转换为std::string,可以使用std::ostringstream将任何流式类型转换为字符串表示形式。
对于int例如:
#include <sstream> int main() { int val = 4; std::ostringstream str; str << val; std::string converted = str.str(); return 0; }
编写自己的转换函数,简单:
template<class T> std::string toString(const T& x) { std::ostringstream ss; ss << x; return ss.str(); }
可以,但是不适用于对性能有严格要求的代码。
如果需要,用户定义的类可以实现流插入运算符:
std::ostream operator<<( std::ostream& out, const A& a ) { // 写出a的字符串表示形式 return out; }
除了流,从C++11开始,您还可以使用std::to_string(和std::to_wstring)函数,该函数对于所有基本类型均已重载,并返回其参数的字符串表示形式。
std::string s = to_string(0x12f3); //在此之后,字符串包含"4851"