std::string 使用分割成多个字符串
时间: 2023-11-24 07:05:33 浏览: 84
可以使用stringstream和getline函数来将一个字符串分割成多个子字符串。以下是一个例子:
```c++
#include <iostream>
#include <sstream>
#include <string>
#include <vector>
int main() {
std::string s = "apple,banana,orange";
std::stringstream ss(s);
std::vector<std::string> vec;
while (ss.good()) {
std::string substr;
getline(ss, substr, ',');
vec.push_back(substr);
}
for (auto str : vec) {
std::cout << str << std::endl;
}
return 0;
}
```
输出结果:
```
apple
banana
orange
```
在这个例子中,我们首先创建了一个字符串流对象ss,将原始字符串s传入其中。然后,我们使用getline函数从字符串流中逐个读取子字符串,以逗号作为分隔符。每次读取到一个子字符串后,我们将其存储到vector中。最后,我们遍历vector并输出每个子字符串。
注意,我们使用了good()函数来检查是否还有更多的子字符串需要读取。如果没有更多的子字符串,getline函数将返回false,while循环将终止。
阅读全文