本文讲解string类型和其他数据类型的转化,以int类型为例。
有时候,string对象与数值之间需要相互转换,下面这个例子详细说明了如何完成这项工作。
#include <iostream>
#include <string>
#include <sstream>
using namespace std;
//C++方法:将数值转换为string
string convertToString(int x)
{
ostringstream o; //创建格式化输出流
if(o<<x) //把值传递到流中
return o.str();
return "convert error"; //如果发生错误
}
//C++方法:将string转化为数值
int convertFromString(const string &s)
{
istringstream i(s);
int x;
if(i>>x)
return x;
return 0; //如果发生错误
}
int main()
{
//将int转化为string的第一种方法:C方法
char b[10];
string a;
sprintf(b,"%d",1975);
a=b;
cout<<a<<endl;
//将int转化为string的第二种方法:C++方法
string cc=convertToString(1976);
cout<<cc<<endl;
//将string转化为int的方法:C++方法
string dd="2018";
int p=convertFromString(dd);
cout<<p<<endl;
return 0;
}