一、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函数获取流中的内容