一、string轉int
1.採用標準庫中atoi函數,對於其他類型也都有相應的標準庫函數,比如浮點型atof(),long型atol()等等
string s = "66";
int a = atoi(s.c_str());
2.採用sstream頭文件中定義的字符串流對象來實現轉換
istringstream is("65"); //構造輸入字符串流,流的內容初始化爲“65”的字符串
int i;
is >> i; //從is流中讀入一個int整數存入i中
二、int 轉 string
1. c++標準增加了全局函數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:
// to_string example
#include <iostream> // std::cout
#include <string> // std::string, std::to_string
int main ()
{
std::string pi = "xiaoshu is " + std::to_string(5.525588);
std::string perfect = std::to_string(5+6+7) + " is a zhengshu";
std::cout << pi << '\n';
std::cout << perfect << '\n';
return 0;
}
Output:
xiaoshu is 5.525588
18 is a zhengshu
2.採用sstream中定義的字符串流對象來實現
ostringstream os; //構造一個輸出字符串流,流內容爲空
int i = 80;
os << i; //向輸出字符串流中輸出int整數i的內容
cout << os.str() << endl; //利用字符串流的str函數獲取流中的內容