c++实现字符串分割split
时间: 2024-09-15 10:01:02 浏览: 46
在C++中,标准库并没有提供直接的`split`函数来分割字符串,但你可以使用`std::istringstream`和`std::getline`来实现这个功能。以下是一个简单的例子,展示了如何将一个字符串按照指定的分隔符切割成一个vector:
```cpp
#include <sstream>
#include <vector>
#include <string>
std::vector<std::string> splitString(const std::string& str, char delimiter) {
std::vector<std::string> tokens;
std::string token;
std::istringstream tokenStream(str);
while (std::getline(tokenStream, token, delimiter)) {
tokens.push_back(token);
}
return tokens;
}
// 使用示例
int main() {
std::string input = "apple,banana;cherry";
char delimiter = ',';
std::vector<std::string> result = splitString(input, delimiter);
for (const auto& token : result) {
std::cout << token << std::endl;
}
return 0;
}
```
在这个例子中,`splitString`函数接受一个字符串和一个字符作为参数,然后通过`std::getline`逐行读取输入流直到遇到分隔符,每读取到一行就添加到`tokens`向量中。
阅读全文