将char和int组合成一个字符串

时间:2011-04-24 11:43:25

标签: c++

例如;

int i = 1;
char c = 'V';
string s;

结果:

s = "1 V"

有人可以告诉我该怎么做吗? 谢谢

2 个答案:

答案 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();