不像php、python直接就没有类型概念,一个$可以代替,也不像java、C#能够直接用parseInt等完事,C++要完成int与string的互转,需要用到stringstream。注意,这里的string并不是C++的标准类型,需要在开头#include "string"才能使用。
具体转化方式如下:
#include "iostream"
#include "string"
#include "sstream"
using namespace std;
//string转int
int string_to_int(string s){
int result;
stringstream Stringstream;
Stringstream<<s;
Stringstream>>result;
return result;
}
//int转string
string int_to_string(int i){
string result;
stringstream Stringstream;
Stringstream<<i;
Stringstream>>result;
return result;
}
void main(){
string a="1";
string b="2";
cout<<string_to_int(a)+string_to_int(b)<<endl;
}
运行结果如下:
这里就不提供,int转string的展示了,因为int转string的情况很少,基本用于输出,cout又是无所不包,能够输出的,所以基本上int转string很少,但是stringstream的int与string的互转都可以完成。不过,stringstream对于这个string是否能够真正转化为int是不能判断的。比如,string a = "a"经过如上的方式转化,是不能注入int的,但是也不会报错,由于int在函数中没有初始化,因此输出的结果是一个未初始化的值,在vc6以上的版本都是:-858993460这个数。