1.字符转换为string类型
引入stringstream类,间接转换。
#include<sstream>
char ch;
string str;
stringstream stream;
stream << ch;
str = stream.str();
2.char * 或char[]转换为string类型
可以直接赋值。
string s1,s2;
char *p = "hello";
char a[]="hjfghf";
s1 = p;//直接赋值
s2 = a;//直接赋值
3.string类型转换为char*
copy()方法,注意最后添加’\0’。
string str="hmmm";
char p[50];
str.copy(p, 4, 0);//这里4代表复制几个字符,0代表复制的起始位置位置
*(p+5)='\0';//注意添加'\0'
string类型转换为int类型
1.使用istringstream,类似的还可以转换为double类型。
#include <sstream>
string str("213");
istringstream in(str);
int i;
in>>i;//转换成功
2.使用stoi(string elem) ,类似的还有函数stod(s);//转换为double型。
#include <algorithm>
string s="213";
int m=stoi(s);
4. int类型转换为string类型
采用全局函数to_string:
string to_string (int val);
string pi = "pi is " + to_string(3.1415926);
5.char*转换为int类型
使用函数atoi()。
#include <algorithm>
char *c="213";
int b=atoi(c);