一、int轉string
1.c++11標準增加了全域性函式std::to_string:
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);
example:
[cpp]view plain
copy
// to_string example
#include // std::cout
#include // std::string, std::to_string
intmain ()
output:
[cpp]view plain
copy
pi is 3.141593
28 is a perfect number
2.採用sstream中定義的字串流物件來實現
[cpp]view plain
copy
ostringstream os;
//構造乙個輸出字串流,流內容為空
inti = 12;
os << i; //向輸出字串流中輸出int整數i的內容
cout << os.str() << endl; //利用字串流的str函式獲取流中的內容
二、string轉int
1.可以使用std::stoi/stol/stoll等等函式
example:
[cpp]view plain
copy
// stoi example
#include // std::cout
#include // std::string, std::stoi
intmain ()
output:
[cpp]view plain
copy
2001, a space odyssey: 2001 and [, a space odyssey]
40c3: 16579
-10010110001: -1201
0x7f: 127
2.採用標準庫中atoi函式,對於其他型別也都有相應的標準庫函式,比如浮點型atof(),long型atol()等等
[cpp]view plain
copy
string s =
"12"
;
inta = atoi(s.c_str());
3.採用sstream標頭檔案中定義的字串流物件來實現轉換
[cpp]view plain
copy
istringstream is(
"12"
); //構造輸入字串流,流的內容初始化為「12」的字串
inti;
is >> i; //從is流中讀入乙個int整數存入i中
C 中string和int之間的轉換
最近在專案中遇到string和int之間轉換的問題,由於的c語言不熟悉,在用atoi 和itoa 這兩個函式的時候,總覺得彆扭,不方便,於是探尋c 中的方法。int 轉string int number 100 string str stringstream buffer buffer str st...
C 中int和string的互相轉換
include include 需要引用的標頭檔案 using namespace std int main 缺點 處理大量資料時候速度慢 stringstream不會主動釋放記憶體。includeusing namespace std int main includeusing namespace...
c 中string和int相互轉換
有兩種方法 1.c 中string到int的轉換 1 在c標準庫裡面,使用atoi include include std string text 152 int number std atoi text.c str if errno erange 可能是std errno else if errn...