C++数字和字符串相互转换

C++数字和字符串相互转换,此文详细介绍了两者互相转换的方法。通过内置函数和字符串流(对象)来实现转换。

数字转字符串

方法1:to_string()函数

1
2
3
4
5
6
7
8
#include<iostream>
#include<string>
using namespace std;
int main() {
int num = 12345;
string num_s = to_string(num);//转换
cout << num_s.at(0);
}

方法2:ostringstream对象+str()函数

1
2
3
4
5
6
7
8
9
10
11
#include<iostream>
#include<sstream>
#include<string>
using namespace std;
int main() {
int num = 12345;
ostringstream oss;//字符输出流对象
oss << num;//将数字放入输出流对象中
string num_s = oss.str();//将其转换成string
cout << num_s.at(0);
}

字符串转数字

方法1:atoi()函数

1
2
3
4
5
6
7
8
9
#include<iostream>
#include<sstream>
#include<string>
using namespace std;
int main() {
string str = "12345";
int str_int=stoi(str.c_str());//字符转换成int
cout << str_int + 1 << endl;//加1,是数字才能+1
}

方法2:istringstream对象

1
2
3
4
5
6
7
8
9
10
11
#include<iostream>
#include<sstream>
#include<string>
using namespace std;
int main() {
string str= "12345";
int str_int;
istringstream iss(str);//字符串输入流对象
iss >> str_int; //字符串转换成int,通过输入流,将输入流中字符串的输入到int型就可以转换。
cout << str_int + 1 << endl;//加1,是数字才能+1
}

参考链接

http://c.biancheng.net/view/1527.html
https://www.bilibili.com/read/cv8350834