(最直接的首选)方法一:stringstream流方法
更方便的是此函数不仅可以实现string->int,还可以实现int->string的转换。(甚至可以实现string向char的转变)
1.所需函数:stringstream()
所需头文件:#include
#include
千万要注意什么时候是<<,什么时候是>>,(可以这样简记,漏斗原则:有数据的>>无数据的,跟往壶里倒油那个漏斗一样)
2.示例代码
#include<string>
#include<sstream>
using namespace std;
int main(){
stringstream stream; //声明一个之后所需的流对象。
//第一块知识,string转换成int。
cout<<"string转int"<<endl;
int n;
string str="1234";
stream<<str;
stream>>n;
cout <<"stringstream string转int: "<< n << endl;
stream.clear();//同一个流对象两次使用时应该用clear函数清除流标志,否则下一块就不起作用,这应该是一个程序员的基本素养。
//第二块知识,int转为string
cout<<"int转string"<<endl;
string str1;
int n1=12345;
stream<<n1;
stream>>str1;
cout << "stringstream int转string: " << str1 << endl;
}
结果:
补充tip:
string向char数组转换。
stringstream stream;
string str="asfdd"
char ch[];
stream<<str;
stream>>ch;
cout <<"stringstream string转char: "<< ch<< endl;
(间接法)方法二: (i)先将string转换成char数字型字符串类型
(ii)再用atoi()函数进行转换,之前的文章介绍过atoi的用法。
故在此不再赘述.