例如;
int i = 1;
char c = 'V';
string s;
结果:
s = "1 V"
有人可以告诉我该怎么做吗? 谢谢
答案 0 :(得分:8)
使用std::stringstream
头文件中的<sstream>
,如下:
#include <sstream>
int i = 1;
char c = 'V';
std::stringstream ss;
ss << i << " " << c;
std::string s = ss.str();
std::cout << s;
输出:
1 V
我已经实现了stringbuilder
使用,您可以在一行中执行此操作:
std::string s = stringbuilder() << i << " " << c;
以下是stringbuilder
的实施:
struct stringbuilder
{
std::stringstream ss;
template<typename T>
stringbuilder & operator << (const T &data)
{
ss << data;
return *this;
}
operator std::string() { return ss.str(); }
};
答案 1 :(得分:1)
stringstream str;
str<<< i << c;
string s=str.str();