c++将string按照空格切分
时间: 2024-08-26 07:01:04 浏览: 43
在C++中,如果你想要将一个`std::string`对象按照空格切分成多个子字符串,你可以使用`std::istringstream`来帮助你完成这个任务。`std::istringstream`是一个输入流类,它能够从一个字符串中读取数据,就如同从文件或其他输入设备中读取数据一样。
下面是一个使用`std::istringstream`进行字符串切分的示例代码:
```cpp
#include <iostream>
#include <sstream>
#include <string>
#include <vector>
int main() {
std::string str = "这是 一个 由 空格 切分 的 字符串";
std::istringstream iss(str);
std::vector<std::string> tokens;
std::string token;
while (iss >> token) {
tokens.push_back(token);
}
// 输出切分后的字符串
for (const auto& t : tokens) {
std::cout << t << std::endl;
}
return 0;
}
```
这段代码首先定义了一个包含空格的字符串`str`,然后使用`std::istringstream`将这个字符串读入。通过循环读取`std::istringstream`对象,可以得到每个由空格分隔的子字符串,并将它们存储到一个`std::vector<std::string>`容器中。最后,遍历这个容器来输出所有的子字符串。
阅读全文