怎么将int类型的变量弄成string类型输出

如何将int类型的变量弄成string类型输出
我用强制类型转换不可以 是不是编译器没有这个函数 那要怎么做 比如说int a = 50, 然后我要把a变成string 然后输出。
用static_cast<string>(a) 而且就算可以估计输出也不是50 因为我转换成char的话 输出结果是个符号 那如果我要输出50
要怎么弄?

------解决方案--------------------
int val=50;
string str;
stringstream ss;
ss<<val;
ss>>str;
cout<<str;
------解决方案--------------------
sprintf
------解决方案--------------------
sprintf(buf,"%d",a);
string str(buf);
------解决方案--------------------
boost::lexical_cast
------解决方案--------------------
int i=123;
string s;
sprintf(s,"%d",i);
printf("%s\n",s.c_str());
没实际编译运行,不保证对。
------解决方案--------------------
int i = 123;
std::stringstream ss;
ss << i;
std::string str = ss.str();

------解决方案--------------------
探讨
5,6楼 在那瞎糊弄人

------解决方案--------------------
可以把一个int变量的值分解成每一个数字,再将每一个数字转换成字符,然后 stringS += ch;
试试这个方法
------解决方案--------------------
可以用stringstream
------解决方案--------------------
stringstream 可以解决
------解决方案--------------------
仅仅是输出的话没必要转成string啊,不过非要这样做的话可以用to_string