C++中类似java split()方法的函数
时间: 2024-09-19 11:17:52 浏览: 60
在C++中,虽然标准库并没有直接提供像Java `split()`那样功能完全的字符串分割函数,但是你可以通过`std::stringstream`、`std::istringstream`,或者自定义模板函数结合`std::find()`等方法来实现字符串分割。例如,你可以这样分隔一个字符串:
```cpp
#include <string>
#include <sstream>
#include <vector>
// 自定义分割函数
std::vector<std::string> split(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 = "Hello,World! This is a test.";
std::vector<std::string> result = split(input, ' ');
for (const auto& token : result) {
std::cout << token << '\n';
}
return 0;
}
```
在这个例子中,我们创建了一个名为`split`的函数,它接受一个字符串和一个分隔符,然后使用`std::getline`逐行读取,并将结果添加到`std::vector`中。
阅读全文