用C++以"/"拆分子字符串
时间: 2024-12-06 11:25:02 浏览: 9
在C++中,你可以使用`std::string`的内置成员函数`substr()`或者`std::getline()`配合流处理来拆分子字符串,特别是当你想要基于特定字符(如"/")分割字符串时。这里是一个基本的例子,使用`substr()`:
```cpp
#include <iostream>
#include <string>
// 分割字符串函数
std::vector<std::string> splitString(const std::string &input, char delimiter) {
std::vector<std::string> result;
size_t pos = 0;
while ((pos = input.find(delimiter)) != std::string::npos) {
// 找到分隔符的位置
std::string token = input.substr(0, pos);
// 将前面的部分添加到结果中
result.push_back(token);
// 移动起始位置到分隔符之后
input.erase(0, pos + 1);
}
// 处理最后一个子串,如果没有找到分隔符则将剩余部分追加
if (!input.empty()) {
result.push_back(input);
}
return result;
}
int main() {
std::string str = "Hello/World/Again";
char delimiter = '/';
std::vector<std::string> parts = splitString(str, delimiter);
for (const auto &part : parts) {
std::cout << part << std::endl;
}
return 0;
}
```
在这个例子中,我们首先查找每个`delimiter`,然后提取子字符串并移除已处理的部分。这个函数返回一个包含所有子字符串的向量。
阅读全文