c++将字符串的分割
时间: 2023-08-20 10:10:11 浏览: 115
C++常用字符串分割方法实例汇总
你可以使用以下方法来在C++中分割字符串:
1. 使用stringstream类:这是一个方便的方法,它使用空格或其他分隔符将字符串分成单词或子字符串。示例代码如下:
```cpp
#include <iostream>
#include <string>
#include <sstream>
#include <vector>
std::vector<std::string> splitString(const std::string& s, char delimiter) {
std::vector<std::string> tokens;
std::stringstream ss(s);
std::string token;
while (getline(ss, token, delimiter)) {
tokens.push_back(token);
}
return tokens;
}
int main() {
std::string str = "Hello,World,How,Are,You";
std::vector<std::string> words = splitString(str, ',');
for (const auto& word : words) {
std::cout << word << std::endl;
}
return 0;
}
```
2. 使用C库函数:你也可以使用C库函数来实现字符串的分割。示例代码如下:
```cpp
#include <iostream>
#include <cstring>
#include <vector>
std::vector<std::string> splitString(const std::string& s, char delimiter) {
std::vector<std::string> tokens;
char* token = strtok(const_cast<char*>(s.c_str()), &delimiter);
while (token != nullptr) {
tokens.push_back(token);
token = strtok(nullptr, &delimiter);
}
return tokens;
}
int main() {
std::string str = "Hello,World,How,Are,You";
std::vector<std::string> words = splitString(str, ',');
for (const auto& word : words) {
std::cout << word << std::endl;
}
return 0;
}
```
这些方法都可以将字符串按照指定的分隔符切割成多个子字符串,并将结果存储在一个容器中,以供后续处理使用。
阅读全文