c++实现java的split
时间: 2024-05-17 10:10:04 浏览: 90
在C++中没有像Java中的`split`函数可以直接使用,但我们可以使用字符串流和getline函数来实现相似的功能。具体实现过程如下:
```c++
#include <iostream>
#include <string>
#include <sstream>
#include <vector>
using namespace std;
vector<string> split(const string& str, const char& delimiter) {
vector<string> tokens;
string token;
istringstream tokenStream(str);
while (getline(tokenStream, token, delimiter)) {
tokens.push_back(token);
}
return tokens;
}
int main() {
string s = "Hello, world! This is C++";
char delimiter = ' ';
vector<string> tokens = split(s, delimiter);
for (auto& token : tokens) {
cout << token << endl;
}
return 0;
}
```
上述代码中,`split`函数接收一个字符串和一个分隔符作为参数,返回一个字符串向量,表示原字符串按照分隔符分割后的结果。在函数内部,我们使用`istringstream`类将原字符串转换为字符串流,然后使用`getline`函数从流中读取每个分割后的字符串,并将其存储到向量中。最后返回向量即可。
阅读全文