#include<iostream>
#include<string>
#include<sstream>
#include<vector>
using namespace std;
int main(){
string s="hello my name is C++";
stringstream ss(s);
string word;
vector<string>vv;
while(ss>>word){
vv.push_back(word);
}
for(vector<string>::iterator iter=vv.begin();iter!=vv.end();++iter){
cout<<*iter<<endl;
}
cout<<word<<endl;
cout<<endl;
system("pause");
return 0;
}
#include<iostream>
#include<string>
#include<sstream>
#include<vector>
using namespace std;
int main(){
string a="1 2 3 4 5 6 7 8 9 10";
stringstream ss(a);
vector<int>vv;
int word;
while(ss>>word){
vv.push_back(word);
}
//vv[0]=6;
for(vector<int>::iterator iter=vv.begin();iter!=vv.end();++iter){
cout<<*iter<<endl;
}
system("pause");
return 0;
}
#include<iostream>
#include<sstream>
#include<string>
using namespace std;
int main(){
string s="123";
int a;
stringstream s;
s<<s;
s>>a;
cout<<a;//此时输出123,a的值为整形123
return 0;
}
也可以用这种方法转换:
#include<iostream>
#include<string>
using namespace std;
long cifang(int a){
long ji=1;
for(int i=0;i<a;++i){
ji*=10;
}
return ji;
}
long change(char *p){
long zhi=0;
for(int j=0,x=strlen(p)-1;j<strlen(p);++j,--x){
zhi+=(p[j]-'0')*cifang(x);
}
return zhi;
}
int main(){
char *p="356";
cout<<change(p)+1<<endl;
return 0;
}
也可以使用atoi函数
#include<iostream>
#include<string>
using namespace std;
int main(){
string s="-1234";
int x=atoi(s.c_str());
cout<<x<<endl;
system("pause");
return 0;
}