C++实现类似QString中的split
时间: 2024-09-15 07:05:01 浏览: 58
QT C++ AES 文件加密 文本文件方式实现用户管理
在C++中,如果你想要实现类似于Qt库中的QString::split功能,可以使用标准库中的`std::string`以及一些容器如`std::vector`,结合`std::stringstream`或`std::getline`来分割字符串。这里是一个简单的示例,假设你想按照空格分隔:
```cpp
#include <iostream>
#include <sstream>
#include <vector>
#include <string>
std::vector<std::string> splitString(const std::string& input, char delimiter) {
std::vector<std::string> tokens;
std::string token;
std::istringstream tokenStream(input);
while (std::getline(tokenStream, token, delimiter)) {
tokens.push_back(token);
}
return tokens;
}
int main() {
std::string str = "Hello World, C++ is fun!";
std::vector<std::string> words = splitString(str, ' ');
for (const auto& word : words) {
std::cout << word << '\n';
}
return 0;
}
```
在这个例子中,`splitString`函数接收一个输入字符串和一个分隔符,然后通过循环读取`tokenStream`直到遇到指定的分隔符,并将每个子串添加到`tokens`向量中。
阅读全文