首頁  >  問答  >  主體

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

#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; 
} 
PHP中文网PHP中文网2714 天前545

全部回覆(2)我來回復

  • PHPz

    PHPz2017-04-17 13:25:22

    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類似

    回覆
    0
  • 伊谢尔伦

    伊谢尔伦2017-04-17 13:25:22

    有點萌啊,建議程式碼用markdown格式框起來。
    另外這N串程式碼的意思,都在註解裡面說的很清楚了,不認真看的話,寫註解的人會傷心的啊!

    回覆
    0
  • 取消回覆