string字符串的分割:
stringstream的常见用法
以stringstream数据流保存数据,然后用getline()间隔读取string类数据,达到分割string字符串的目的,并利用str.data()或者str.c_str()以及atoi()转化为int。
#include <sstream>
#include <string>
#include <iostream>
#include <cstdio>
#include <vector>
using namespace std;
int main()
{
vector<int> res;
string str= "1.2.3.4.5";
stringstream ss(str);
string sub_str;
while(getline(ss,str,'.'))//以.为间隔分割内容
{
const char *p=str.data();//string类型为const char *,所以转化类型必须匹配。
//const char *p=str.c_str();
res.push_back(atoi(p));
}
for(auto x:res){
cout<<x<<endl;
}
return 0;
}
输出如下:
1
2
3
4
5