1、string转int的方法
1.1 c的函数 char * 转 int
int a = atoi(s.c_str());//c的函数 char * 转 int
1.2 c++的函数string 转 int
int b = stoi("12w");//c++的函数string 转 int 如果参数不正确,会抛出一个invalid_argument的异常,比如"w12w"
1.3 采用sstream头文件中定义的字符串流对象来实现转换
istringstream is("12");
int i;
is >> i;//从is流中读入一个int整数存入i中
cout<<"i = "<<i<<endl;
2、int转string
int c = 12;
2.1、采用c++标准库中的to_string函数,不需要包含任何头文件,应该是在utility中,但无需包含,直接使用,还定义任何其他内置类型转为string的重载函数,很方便。
cout<<to_string(c)<<endl;
2.2 采用sstream中定义的字符串流对象来实现
#include<sstream>
ostringstream os;//构造一个输出字符串流,流内容为空
int d = 12;
os<<i;//向输出字符串流中输出整数d的内容
cout<< os.str()<<endl;//利用字符串流的str函数获取流中的内容
2.3、采用windows c标准库中itoa库函数
int e = 12;
char buf[10];
itoa(e,buf,16);//windows c标准库中的
cout<<buf<<endl;
2.4、sprintf函数 c标准库中跨平台的
char *str = new char[10];
sprintf(str,"%x",100);//16进制输出 %d十进制 %o八进制
cout<<str<<endl;