c++ 的split函数
时间: 2024-09-03 20:03:20 浏览: 89
在C++中,并没有内置的`split`函数,像Python那样直接用于字符串分割。但是,你可以通过使用标准库中的`std::istringstream`(输入流stringstream)或者第三方库如`boost`或者`C++17`引入的`std::ranges`来实现类似的功能。
如果你想要将一个字符串按照某个分隔符切割成多个子串,可以这样做:
```cpp
#include <sstream>
#include <string>
#include <vector>
// 使用std::istringstream
std::string str_to_split = "value1, value2, value3";
std::istringstream iss(str_to_split);
std::vector<std::string> tokens;
for (std::string token; iss >> token; ) {
tokens.push_back(token);
}
// 或者使用C++17的std::ranges
std::string str = "value1|value2|value3";
auto tokens_range = std::ranges::split(std::begin(str), std::end(str), std::equal_to<char>('|'));
std::vector<std::string> tokens(tokens_range.begin(), tokens_range.end());
阅读全文