c++ string 字符串分割,并返回数组vector
时间: 2024-02-07 13:03:06 浏览: 255
好的,这个问题是关于C++字符串处理的,我可以帮您解决。对于C++字符串分割,可以使用 strtok 函数进行切割,也可以使用 stringstream 和 getline 函数进行切割,使用 vector 将切割后的字符串存储起来。以下是一个示例代码:
```cpp
#include <iostream>
#include <cstring>
#include <vector>
#include <sstream>
using namespace std;
vector<string> split(string str, char delim){
vector<string> res;
istringstream iss(str);
string s;
while(getline(iss,s,delim)){
res.push_back(s);
}
return res;
}
int main(){
string s = "hello world,how are you";
char delim = ' ';
vector<string> res1,res2;
char *p = strtok((char*)s.c_str(),&delim);
while(p!=NULL){
res1.push_back(p);
p = strtok(NULL,&delim);
}
res2 = split(s,delim);
for(int i=0;i<res1.size();i++){
cout<<res1[i]<<endl;
}
for(int i=0;i<res2.size();i++){
cout<<res2[i]<<endl;
}
return 0;
}
```
输出结果为:
```
hello
world,how
are
you
hello
world,how
are
you
```
以上是一个简单的示例代码,供您参考。
阅读全文