std::string分割函数
时间: 2024-09-24 18:26:48 浏览: 41
在C++标准库中,`std::string` 类型并没有直接的分割函数,但你可以使用`std::istringstream`配合`std::getline`来实现字符串分割。另外,`boost`库也提供了一些方便的工具,如`boost::split`。这里有一个基本的例子,展示如何使用`std::stringstream`进行字符串分割:
```cpp
#include <sstream>
#include <vector>
#include <string>
std::vector<std::string> split_string(const std::string& input, char delimiter) {
std::vector<std::string> tokens;
std::istringstream iss(input);
std::string token;
while (iss >> token) {
if (!token.empty()) { // 避免空格后的分隔符也被添加到结果中
tokens.push_back(token);
}
}
return tokens;
}
// 示例
std::string str_to_split = "apple,banana;cherry";
auto result = split_string(str_to_split, ',');
for (const auto &token : result) {
std::cout << token << std::endl;
}
阅读全文