split用C++实现
时间: 2024-05-04 11:18:22 浏览: 82
在C++中,可以使用字符串流(stringstream)和getline函数来实现split功能,具体代码如下:
```cpp
#include <iostream>
#include <sstream>
#include <vector>
#include <string>
std::vector<std::string> split(const std::string& s, char delimiter) {
std::vector<std::string> tokens;
std::string token;
std::istringstream tokenStream(s);
while (getline(tokenStream, token, delimiter)) {
tokens.push_back(token);
}
return tokens;
}
int main() {
std::string str = "Hello,world,how,are,you";
std::vector<std::string> tokens = split(str, ',');
for (const auto& token : tokens) {
std::cout << token << std::endl;
}
return 0;
}
```
以上代码中,split函数使用istringstream将输入字符串s转换为字符串流,然后使用getline函数以delimiter为分隔符将字符串分割为多个子串,存储在一个vector容器中并返回。在main函数中,我们可以通过调用split函数来将字符串分割为多个子串,并通过循环打印出来。
阅读全文