C++中string切割
时间: 2024-11-11 21:23:37 浏览: 19
在C++中,你可以使用`std::getline()`函数结合`std::istringstream`来实现字符串切割(也称为分词)。`std::getline()`用于从输入流读取一行文本,而`std::istringstream`可以模拟文件输入流,允许我们对字符串进行处理。
以下是一个简单的例子,它会将逗号分隔的字符串切割成单独的单词:
```cpp
#include <iostream>
#include <sstream>
#include <vector>
std::vector<std::string> splitString(const std::string& str, char delimiter) {
std::vector<std::string> tokens;
std::istringstream iss(str);
std::string token;
while (iss >> token) {
tokens.push_back(token);
}
return tokens;
}
int main() {
std::string input = "Hello,World,CPP";
std::vector<std::string> words = splitString(input, ',');
for (const auto& word : words) {
std::cout << word << '\n';
}
return 0;
}
```
在这个例子中,`splitString`函数接收一个字符串和一个分隔符,然后通过循环从输入流中提取并存储每个分割后的子串。运行这段代码,你会得到输出:
```
Hello
World
CPP
```
阅读全文