#include <iostream>
#include <string>
#include <sstream>
using namespace std;
//C++方法:将数值转换为 string
string convertToString(double x)
{
ostringstream o;
if (o << x)
return o.str();
return "conversion error";//if error
}
//C++方法:将 string 转换为数值
double convertFromString(const string &s)
{
istringstream i(s);
double x;
if (i >> x)
return x;
return 0.0;//if error
}
int main(int argc, char* argv[])
{
//将数值转换为 string 的第一种方法:C 方法
char b[10];
string a;
sprintf(b,"%d",1975);
a=b;
cout<<a<<endl;
//将数值转换为 string 的第二种方法:C++方法
string cc=convertToString(1976);
cout<<cc<<endl;
//将 string 转换为数值的方法:C++方法
string dd="2006";
int p=convertFromString(dd)+2;
cout<<p<<endl;
return 0;
}
stringstream就是字串流,類似與iostream中的cout cin
istringstream類似與cin, 只不過它輸入資料的來源來自內部的stirng buffer,你可以設定這個buffer的值,然後把裡面的值輸出到你需要的變數裡面
ostringstream類似與cout, 不過輸入到ostringstream中的資料不會輸出到標準輸出(stdout, 例如終端)裡面,而是存在著一個string類型的buffer中,然後你可以使用.str提取處這個buffer的值
類比與上面cin和istringstream類似
有點萌啊,建議程式碼用markdown格式框起來。
另外這N串程式碼的意思,都在註解裡面說的很清楚了,不認真看的話,寫註解的人會傷心的啊!