c++中的string.find
时间: 2024-12-17 09:09:11 浏览: 14
在C++中,`std::string`类的`find`成员函数用于在一个字符串中查找子字符串或字符的位置。`find`函数有多个重载版本,可以根据不同的参数类型和位置进行查找。以下是一些常见的用法:
1. **查找子字符串**:
```cpp
std::string str = "Hello, World!";
std::size_t pos = str.find("World");
if (pos != std::string::npos) {
std::cout << "Found at position: " << pos << std::endl;
} else {
std::cout << "Not found" << std::endl;
}
```
2. **从指定位置开始查找**:
```cpp
std::string str = "Hello, World!";
std::size_t pos = str.find("o", 5);
if (pos != std::string::npos) {
std::cout << "Found at position: " << pos << std::endl;
} else {
std::cout << "Not found" << std::endl;
}
```
3. **查找字符**:
```cpp
std::string str = "Hello, World!";
std::size_t pos = str.find('W');
if (pos != std::string::npos) {
std::cout << "Found at position: " << pos << std::endl;
} else {
std::cout << "Not found" << std::endl;
}
```
4. **查找子字符串的另一个重载**:
```cpp
std::string str = "Hello, World!";
std::size_t pos = str.find("World", 0, 5); // 从位置0开始,查找前5个字符
if (pos != std::string::npos) {
std::cout << "Found at position: " << pos << std::endl;
} else {
std::cout << "Not found" << std::endl;
}
```
`find`函数返回子字符串或字符在字符串中首次出现的位置,如果未找到则返回`std::string::npos`。
阅读全文