std::string 切割
时间: 2023-09-22 15:11:10 浏览: 95
你可以使用不同的方法来切割一个 `std::string` 字符串。下面是一种常见的方法:
```cpp
#include <iostream>
#include <sstream>
#include <vector>
std::vector<std::string> split(const std::string& s, char delimiter) {
std::vector<std::string> tokens;
std::string token;
std::istringstream tokenStream(s);
while (std::getline(tokenStream, token, delimiter)) {
tokens.push_back(token);
}
return tokens;
}
int main() {
std::string input = "Hello,World,How,Are,You";
char delimiter = ',';
std::vector<std::string> tokens = split(input, delimiter);
for (const auto& token : tokens) {
std::cout << token << std::endl;
}
return 0;
}
```
在上述代码中,我们定义了一个名为 `split` 的函数,接收一个字符串 `s` 和一个分隔符 `delimiter`。该函数使用 `std::istringstream` 和 `std::getline` 来将字符串分割成多个子串,并将它们存储在一个 `std::vector<std::string>` 容器中。在 `main` 函数中,我们演示了如何使用这个 `split` 函数来切割字符串并打印出结果。
运行上述代码会输出以下结果:
```
Hello
World
How
Are
You
```
希望对你有所帮助!如果你有任何其他问题,请随时提问。
阅读全文