天天看點

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();

}