1. 程式人生 > >C++ 將int轉換為string的兩種方法【to_string和sstream】

C++ 將int轉換為string的兩種方法【to_string和sstream】

第一種是to_string函式,C++11新特性,使用非常方便,簡單查了下:c++11標準增加了全域性函式std::to_string,以及std::stoi/stol/stoll等等函式(這幾個就是string轉int,long,以及long long啦~)

string to_string (int val);
string to_string (long val);
string to_string (long long val);
string to_string (unsigned val);
string to_string (unsigned long val);
string to_string (unsigned long long val);
string to_string (float val);
string to_string (double val);

string to_string (long double val)

不僅int可以轉換成string,這些都可以哦~

第二種是藉助字串流
標準庫定義了三種類型字串流:istringstream,ostringstream,stringstream
看名字就知道這幾種型別和iostream中的幾個非常類似,分別可以讀、寫以及讀和寫string型別,它們也確實是從iostream型別派生而來的。要使用它們需要包含sstream標頭檔案。

除了從iostream繼承來的操作
1.sstream型別定義了一個有string形參的建構函式,
即: stringstream stream(s); 建立了儲存s副本的stringstream物件,s為string型別物件
2.定義了名為str的成員,用來讀取或設定stringstream物件所操縱的string值:
stream.str(); 返回stream中儲存的string型別物件
stream.str(s); 將string型別的s複製給stream,返回void

於是……
string Int_to_String(int n)
{
ostringstream stream;
stream<<n; //n為int型別
return stream.str();
}