首页 > 能帮我具体解释一下这一串代码什么意思吗?

能帮我具体解释一下这一串代码什么意思吗?

#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的值,然后把里面的值输出到你需要的变量里面

istringstream iss(str_in_buffer);// 类比 cin cin可以看成是 istream cin(stdin)

iss >> someint;  //类比 cin cin >> someint;

ostringstream类似与cout, 不过输入到ostringstream中的数据不会输出到标准输出(stdout, 比如终端)里面,而是存在一个string类型的buffer中,然后你可以使用.str提取处这个buffer的值

类比与上面cin和istringstream类似


有点萌啊,建议代码用markdown格式框起来。
另外这N串代码的意思,都在注释里面说的很清楚了,不认真看的话,写注释的人会伤心的啊!

【热门文章】
【热门文章】