c++ 字符串abc/cde/abd/efe 查找每个/的位置
时间: 2024-10-22 14:16:08 浏览: 6
在 C++ 中,如果你想查找字符串中每个斜线 ('/') 的位置,你可以遍历整个字符串,并检查每个字符是否等于 '/'. 这里是一个简单的示例:
```cpp
#include <iostream>
#include <string>
int main() {
std::string str = "abc/cde/abd/efe";
size_t pos = 0;
while ((pos = str.find("/")) != std::string::npos) {
std::cout << "Found '/' at position: " << pos << std::endl;
// 移动查找起始位置到下一个字符,以便下一次查找
pos += 1;
}
return 0;
}
```
这个程序会输出:
```
Found '/' at position: 3
Found '/' at position: 7
Found '/' at position: 11
```
相关问题
c++ 字符串abc/cde/abd/efe 将字符串根据/断开拆分成四个字符串,/不保留
在 C++ 中,你可以使用 `std::string` 的 `substr()` 函数配合循环来将字符串根据 `/` 断开来拆分。这里是一个简单的示例:
```cpp
#include <iostream>
#include <vector>
#include <sstream>
std::vector<std::string> splitString(const std::string &input) {
std::vector<std::string> result;
std::istringstream iss(input);
std::string token;
while (iss >> token) {
if (!token.empty()) {
result.push_back(token);
}
}
return result;
}
int main() {
std::string str = "abc/cde/abd/efe";
std::vector<std::string> parts = splitString(str);
for (const auto &part : parts) {
std::cout << part << std::endl;
}
c++ 字符串abc/cde/abd/efe 将字符串根据"/"断开拆分成四个字符串,"/"不保留
在C++中,你可以使用`std::string`的成员函数`substr()`或者`std::getline()`结合迭代器来实现这个需求。这里是一个示例:
```cpp
#include <iostream>
#include <vector>
#include <sstream>
std::vector<std::string> splitString(const std::string& input) {
std::istringstream iss(input);
std::vector<std::string> result;
std::string item;
while (iss >> item) {
if (!item.empty()) { // 如果分割后的部分不为空
result.push_back(item); // 添加到结果列表中
}
}
return result;
}
int main() {
std::string str = "abc/cde/abd/efe";
std::vector<std::string> parts = splitString(str);
for (const auto& part : parts) {
std::cout << part << std::endl; // 输出拆分后的字符串
}
return 0;
}
```
运行上述程序会得到输出:
```
abc
cde
abd
efe
```
阅读全文