在C++中如何实现String和其他类型互换呢?最好的方式是使用stringstream,下面简单介绍下:
1.其他类型转换为String
#include <sstream>
stringstream sstr;
string s1;
s1.append("string ");
sstr << 12;
//sstr >> s1; //这样的结果是把原来string的值冲掉了
s1 += sstr.str(); //这样不会改变原来的值
sstr.clear();//如果你想通过使用同一stringstream对象实现多种类型的转换,请注意在每一次转换之后都必须调用clear()成员函数。不clear的话值会一直存在
cout << s1 << endl;
2.string转换为其他类型
string s = "17";
stringstream ss;
ss<<s; //读入值
int i;
ss>>i; //输出值
cout<<i<<endl; // 17
sstr.clear();
string name = "colinguan";
char cname[200];
stringstream sstr;
sstr<<name; //读入值
sstr>>cname; //输出转换值