c++string用“ ”去拆分
时间: 2024-12-28 08:33:28 浏览: 0
在 C++ 中,`std::string` 类型通常用于处理字符串,如果你想要按照特定字符(例如空格 " ")拆分字符串,你可以使用 `std::istringstream` 或者直接遍历字符串并使用 `find()` 函数。这里是一个简单的例子:
```cpp
#include <iostream>
#include <sstream>
#include <vector>
std::vector<std::string> splitString(const std::string& input, char delimiter) {
std::vector<std::string> result;
std::size_t pos = 0;
std::string token;
while ((pos = input.find(delimiter)) != std::string::npos) {
// 左边的部分是找到分隔符前的子串
token = input.substr(0, pos);
result.push_back(token);
// 移动指针到分隔符之后
input.erase(0, pos + 1); // erase(pos, pos+1) 删除了分隔符
}
// 处理最后一个完整的单词
if (!input.empty()) {
result.push_back(input);
}
return result;
}
int main() {
std::string str = "Hello World, This is a test.";
std::vector<std::string> words = splitString(str, ' ');
for (const auto& word : words) {
std::cout << word << "\n";
}
return 0;
}
```
这个函数会返回一个包含原始字符串按空格拆分后的子串的向量。
阅读全文